14e4:d612 was found in D-Link DIR-885L and Netgear R8500. It's most
likely a bridge used by all 14e4:4365 BCM4366 devices.
Without this fixup device wasn't treated as a bridge:
[ 2.849895] pci 0000:00:00.0: ignoring class 0x020000 (doesn't match header type 01)
and didn't get its resources assigned. This resulted in child devices
not being able to get any resources (due to the parrent missing them):
[ 3.375428] pci 0000:01:00.0: BAR 2: no space for [mem size 0x00400000 64bit]
[ 3.387949] pci 0000:01:00.0: BAR 2: failed to assign [mem size 0x00400000 64bit]
[ 3.725797] pci 0000:01:00.0: BAR 0: no space for [mem size 0x00008000 64bit]
[ 3.738314] pci 0000:01:00.0: BAR 0: failed to assign [mem size 0x00008000 64bit]
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 49118
+obj-$(CONFIG_PCI_BCM5301X) += pci-host-bcm5301x.o
--- /dev/null
+++ b/drivers/pci/host/pci-host-bcm5301x.c
-@@ -0,0 +1,460 @@
+@@ -0,0 +1,461 @@
+/*
+ * Northstar PCI-Express driver
+ * Only supports Root-Complex (RC) mode
+}
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x8011, bcma_pcie2_fixup_class);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x8012, bcma_pcie2_fixup_class);
++DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0xd612, bcma_pcie2_fixup_class);
+
+/*
+ * Check link status, return 0 if link is up in RC mode,