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
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
Patch from Comment 3 fixes the regression
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