Bug 187781
Summary: | mlx4 driver failes to load | ||
---|---|---|---|
Product: | Drivers | Reporter: | Johannes Thumshirn (jth) |
Component: | PCI | Assignee: | drivers_pci (drivers_pci) |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | bjorn |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 4.4 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
screenshot of crash
Don't set RCB bit in LNKCTL if the upstream bridge hasn't dmesg frokm boot with pci=realloc acpidump from affected system lspci -vvv output from affected system /proc/iomem |
Created attachment 244611 [details]
screenshot of crash
Kernel version 3.12 is working, 4.4 not. Git bisect points to: commit 7a1562d4f2d01721ad07c3a326db7512077ceea9 Author: Yinghai Lu <yinghai@kernel.org> Date: Tue Nov 11 12:09:46 2014 -0800 PCI: Apply _HPX Link Control settings to all devices with a link Previously we applied _HPX type 2 record Link Control register settings only to bridges with a subordinate bus. But it's better to apply them to all devices with a link because if the subordinate bus has not been allocated yet, we won't apply settings to the device. Use pcie_cap_has_lnkctl() to determine whether the device has a Link Control register instead of looking at dev->subordinate. Created attachment 244621 [details]
Don't set RCB bit in LNKCTL if the upstream bridge hasn't
Patch to fix crash
Created attachment 244631 [details]
dmesg frokm boot with pci=realloc
Thanks, Johannes. Can you please attach "lspci -vv" output, /proc/iomem contents, and an ACPI dump? I don't have /proc/iomem but acpidump and lscpi are doable. lspci from the working and/or broken kernel? Created attachment 244671 [details]
acpidump from affected system
Created attachment 244681 [details]
lspci -vvv output from affected system
Created attachment 245771 [details] /proc/iomem From Johannes (http://lkml.kernel.org/r/20161122105647.dyt5nsst2sqbdf4y@linux-x5ow.site) Resolved by e42010d8207f ("PCI: Set Read Completion Boundary to 128 iff Root Port supports it (_HPX)"), which appeared in v4.9. http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=e42010d8207f |
The mlx4_core driver fails to load with the following messages in dmesg: > [ 8.648872] mlx4_core: Mellanox ConnectX core driver v2.2-1 (Feb, 2014) > [ 8.648889] mlx4_core: Initializing 0000:41:00.0 > [ 10.068642] mlx4_core 0000:41:00.0: command 0xfff failed: fw status = 0x1 > [ 10.068645] mlx4_core 0000:41:00.0: MAP_FA command failed, aborting > [ 10.068659] mlx4_core 0000:41:00.0: Failed to start FW, aborting > [ 10.068661] mlx4_core 0000:41:00.0: Failed to init fw, aborting. > [ 11.071536] mlx4_core: probe of 0000:41:00.0 failed with error -5