diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-11-06 13:56:00 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-11-24 22:32:59 -0500 |
commit | ca45cfe31ee5b59eb2e0f19baac575a4f5b68537 (patch) | |
tree | 940492bc5734178bc5febb1a73a22f82eb0b273e /arch/powerpc/platforms/powernv | |
parent | 1f1616e864972fc82e1a144c7d23622d2aa2c6f2 (diff) |
powerpc/powernv: Fixup p7ioc PCIe root complex class code
It advertises "host bridge" instead of "PCI to PCI bridge" which confuses
the Linux probe code.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/powernv')
-rw-r--r-- | arch/powerpc/platforms/powernv/pci.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/powernv/pci.c b/arch/powerpc/platforms/powernv/pci.c index 8b90d945399a..baef772d41f4 100644 --- a/arch/powerpc/platforms/powernv/pci.c +++ b/arch/powerpc/platforms/powernv/pci.c | |||
@@ -416,6 +416,13 @@ static void __devinit pnv_pci_dma_dev_setup(struct pci_dev *pdev) | |||
416 | pnv_pci_dma_fallback_setup(hose, pdev); | 416 | pnv_pci_dma_fallback_setup(hose, pdev); |
417 | } | 417 | } |
418 | 418 | ||
419 | /* Fixup wrong class code in p7ioc root complex */ | ||
420 | static void __devinit pnv_p7ioc_rc_quirk(struct pci_dev *dev) | ||
421 | { | ||
422 | dev->class = PCI_CLASS_BRIDGE_PCI << 8; | ||
423 | } | ||
424 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_IBM, 0x3b9, pnv_p7ioc_rc_quirk); | ||
425 | |||
419 | static int pnv_pci_probe_mode(struct pci_bus *bus) | 426 | static int pnv_pci_probe_mode(struct pci_bus *bus) |
420 | { | 427 | { |
421 | struct pci_controller *hose = pci_bus_to_host(bus); | 428 | struct pci_controller *hose = pci_bus_to_host(bus); |