Bug 26654

Summary: PCI bus not recognized
Product: [Retired] Red Hat Linux Reporter: Richard Black <richard.black>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED DEFERRED QA Contact: Brock Organ <borgan>
Severity: high Docs Contact:
Priority: high    
Version: 7.1CC: bryan.leopard
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard: Florence Gold
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-02-09 23:18:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Richard Black 2001-02-08 04:31:21 UTC
Red Hat 7.1 Linux Beta - beta3
Feb 7, 2001
Failing HW: ML570, DL580
Passing HW: DL360, ML350, ML370, ML530 

More than one secondary bus for a given north bridge is not recognized.  
This leaves PCI slots that are inaccessible.

It appears that the following email and patch corrects the issue:

------------------------------------------
The patch below (against vanilla 2.4.0) makes Linux recognize
PCI-Devices sitting in another PCI bus than 0 (or 1).

This was tested on a Netfinity 7100-8666 using a ServerWorks chipset.


00:00.0 Host bridge: ServerWorks CNB20HE (rev 21)
00:00.1 Host bridge: ServerWorks CNB20HE (rev 01)
00:00.2 Host bridge: ServerWorks: Unknown device 0006
00:00.3 Host bridge: ServerWorks: Unknown device 0006
00:01.0 SCSI storage controller: Adaptec 7896
00:01.1 SCSI storage controller: Adaptec 7896
00:05.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet 
LANCE] (rev 44)
00:06.0 VGA compatible controller: S3 Inc. Trio 64 3D (rev 01)
00:0f.0 ISA bridge: ServerWorks OSB4 (rev 4f)
00:0f.1 IDE interface: ServerWorks: Unknown device 0211
00:0f.2 USB Controller: ServerWorks: Unknown device 0220 (rev 04)
02:04.0 Ethernet controller: Digital Equipment Corporation DECchip 
21142/43 (rev 41)
02:06.0 RAID bus controller: IBM: Unknown device 01bd

The last two lines do not occur without the patch.


diff -ur linux-2.4.0/linux/arch/i386/kernel/pci-pc.c 
linux/arch/i386/kernel/pci-pc.c
--- linux-2.4.0/linux/arch/i386/kernel/pci-pc.c Thu Jun 22 16:17:16 2000
+++ linux/arch/i386/kernel/pci-pc.c     Tue Jan 16 18:10:30 2001
@@ -849,10 +849,13 @@
         * ServerWorks host bridges -- Find and scan all secondary buses.
         * Register 0x44 contains first, 0x45 last bus number routed there.
         */
-       u8 busno;
-       pci_read_config_byte(d, 0x44, &busno);
-       printk("PCI: ServerWorks host bridge: secondary bus %02x\n", 
busno);
-       pci_scan_bus(busno, pci_root_ops, NULL);
+       u8 busno_first, busno_last, i;
+       pci_read_config_byte(d, 0x44, &busno_first);
+       pci_read_config_byte(d, 0x45, &busno_last);
+       for (i = busno_first; i <= busno_last; i++) {
+               printk("PCI: ServerWorks host bridge: secondary bus %
02x\n", i);
+               pci_scan_bus(i, pci_root_ops, NULL);
+       }
        pcibios_last_bus = -1;
 }
 


Adam
-- 
Adam                 al10.de
  Lackorzynski         http://a.home.dhs.org
------------------------------------------

Reproducible: Yes.

Compaq Bug #: 194031

Compaq considers this defect a  MUST-FIX for Florence.

Comment 1 Michael Fulbright 2001-02-08 16:48:07 UTC
Assigning to correct component.

Comment 2 Arjan van de Ven 2001-02-08 17:49:15 UTC
Will use the agreed (on l-k) patch on this for the next build.
(the patch in the bug has been superseeded by an other one)

Comment 3 Arjan van de Ven 2001-02-08 18:52:53 UTC
Are you prepared to test a patch or do you want to wait for the next
kernel rpm to be released?

Comment 4 Glen Foster 2001-02-08 23:42:52 UTC
This defect is considered MUST-FIX for Florence Gold release

Comment 5 Richard Black 2001-02-09 22:06:09 UTC
Tested patch from arjanv and it works, thanks.

Comment 6 Glen Foster 2001-02-09 23:18:12 UTC
This defect is considered MUST-FIX for Florence Gold release

Comment 7 Arjan van de Ven 2001-02-12 09:07:40 UTC
I will close this bug as "deferred" as it is fixed and confirmed, and the fix
will be in the next kernel we release.