Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > fc11cd6e1c513a17304da94a5390f3cd > files > 2768

kernel-2.6.18-194.11.1.el5.src.rpm

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;