Sophie

Sophie

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

kernel-2.6.18-194.11.1.el5.src.rpm

From: Mauro Carvalho Chehab <mchehab@redhat.com>
Date: Fri, 18 Dec 2009 21:58:05 -0500
Subject: Revert: [pci] avoid disabling acpi to use non-core PCI
Message-id: <4B2BFAED.9000907@redhat.com>
Patchwork-id: 22192
O-Subject: [RHEL 5.5 PATCH] BZ#547898: Don't call pcibios_fixup_peer_bridges()
	when last_bus=255
Bugzilla: 504330 547898
RH-Acked-by: Tomas Henzl <thenzl@redhat.com>

This patch reverts a patch originally posted for BZ#504330

With a few systems, the BIOS doesn't provide a MMCFG table that it is
recognized by RHEL.

On those systems, kernel reports:

PCI: BIOS Bug: MCFG area at e0000000 is not E820-reserved
PCI: Not using MMCONFIG.

and runs the legacy PCI brobing code. Unfortunately, on some AMD machines,
this causes the machine to not being able to allocate all needed PCI
resources, causing a machine hang during the boot.

As the BZ#504330 is meant to allow accessing the Nehalem non-core registers,
needed for i7core_edac module, and this module weren't added on RHEL 5 yet,
the better is to simply revert this patch for now, and work on a solution
that won't break on those machines.


diff --git a/arch/i386/pci/legacy.c b/arch/i386/pci/legacy.c
index 1f19682..eca0178 100644
--- a/arch/i386/pci/legacy.c
+++ b/arch/i386/pci/legacy.c
@@ -41,14 +41,13 @@ static int __init pci_legacy_init(void)
 	}
 
 	if (pcibios_scanned++)
-		goto end;
+		return 0;
 
 	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;