Comment 22 for bug 149071

Revision history for this message
TJ (tj) wrote :

I've discovered the cause of the issue. The system contains an i450NX chipset which has peer PCI buses. To work around buggy BIOS situations where these weren't discovered a fix-up was added that looks for and scans them as secondaries of the first root bus.

This causes the later ACPI code to ignore them because they are already in the pci_root_bus list.

I've developed a patch for testing which is attached to the bug at kernel.org:

http://bugzilla.kernel.org/show_bug.cgi?id=10396#c18

The patch applies some DMI matching that looks for the Dell PowerEdge 6300 and if found, doesn't apply the i450NX fix-up. The system is now undergoing testing to discover any side affects of preventing the buses being discovered as secondaries.

$ uname -a
Linux PowerEdge6300 2.6.25-rc8-acpi-pci-bus #3 SMP Wed Apr 9 08:29:54 BST 2008 i686 GNU/Linux

$ grep -i 'aac' /var/log/dmesg
[ 76.282508] Adaptec aacraid driver 1.1-5[2455]-ms
[ 76.282520] bus: 'pci': add driver aacraid
[ 76.407282] bus: 'pci': driver_probe_device: matched device 0000:03:03.0 with driver aacraid
[ 76.407819] bus: 'pci': really_probe: probing driver aacraid with device 0000:03:03.0
[ 76.612034] AAC0: kernel 2.8-1[6099]
[ 76.613521] AAC0: monitor 2.8-1[6099]
[ 76.617518] AAC0: bios 2.8-1[6099]
[ 76.621520] AAC0: serial 8A0376
[ 76.642288] driver: '0000:03:03.0': driver_bound: bound to device 'aacraid'
[ 76.645545] bus: 'pci': really_probe: bound device 0000:03:03.0 to driver aacraid