From: Mauro Carvalho Chehab <mchehab@redhat.com> Date: Thu, 3 Sep 2009 01:45:52 -0300 Subject: [pci] avoid disabling acpi to use non-core PCI devices Message-id: 20090903014552.42096bde@pedra.chehab.org O-Subject: [RHEL 5.5] BZ#504330: Avoid needing to disable acpi in order to use Nehalem non-core PCI devices Bugzilla: 504330 RH-Acked-by: Prarit Bhargava <prarit@redhat.com> RH-Acked-by: Dean Nelson <dnelson@redhat.com> RH-Acked-by: Pete Zaitcev <zaitcev@redhat.com> RH-Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com> This patch backports upstream git changeset e42d1fe804408c57506a5326252b4db29958a7fb On Nehalem machines with Xeon 55xx or upper, the non-core PCI devices start at bus=255. A previous patch for this bz fixed a bug when using lastbus=255. However, there's a bug at the legacy bus probing that prevents it to call pcibios_fixup_peer_bridges() when lastbus=255. It compliments a previous patch posted by John Villalovos that backports changeset 9dd1e9eb5cd6f79d4efda57db4e26dfa31ff9ae5. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> diff --git a/arch/i386/pci/legacy.c b/arch/i386/pci/legacy.c index b9e0cdc..273384f 100644 --- a/arch/i386/pci/legacy.c +++ b/arch/i386/pci/legacy.c @@ -47,13 +47,14 @@ static int __init pci_legacy_init(void) } if (pcibios_scanned++) - return 0; + goto end; printk("PCI: Probing PCI hardware\n"); pci_root_bus = pcibios_scan_root(0); if (pci_root_bus) pci_bus_add_devices(pci_root_bus); +end: pcibios_fixup_peer_bridges(); return 0;