Bug 7831

Summary: pci=assign-busses suggested when running on HP Compaq nx8220
Product: Drivers Reporter: Vladimir Michl (Vladimir.Michl)
Component: PCIAssignee: Bernhard Kaindl (bk)
Status: RESOLVED DUPLICATE    
Severity: normal CC: greg
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.18 Subsystem:
Regression: --- Bisected commit-id:
Attachments: dmesg without assign-busses
lspci without assign-busses
dmesg with assign-busses
lspci with assign-busses

Description Vladimir Michl 2007-01-15 15:21:38 UTC
Distribution: Debian testing
Hardware Environment: i386, laptop HP Compaq nx8220
Software Environment:
Problem Description:
When booting Linux kernel, it says:

PCI: Transparent bridge - 0000:00:1e.0
PCI: Bus #03 (-#06) is hidden behind transparent bridge #02 (-#03) (try
'pci=assign-busses')
Please report the result to linux-kernel to fix this permanently

Steps to reproduce:
Every time I boot.
Comment 1 Vladimir Michl 2007-01-15 15:25:03 UTC
Created attachment 10089 [details]
dmesg without assign-busses
Comment 2 Vladimir Michl 2007-01-15 15:26:02 UTC
Created attachment 10090 [details]
lspci without assign-busses
Comment 3 Vladimir Michl 2007-01-15 15:26:35 UTC
Created attachment 10091 [details]
dmesg with assign-busses
Comment 4 Vladimir Michl 2007-01-15 15:27:29 UTC
Created attachment 10092 [details]
lspci with assign-busses
Comment 5 Bernhard Kaindl 2007-07-26 05:08:59 UTC
For Greg and others: This is a similiar text as I used in bug 8591,
(only a bit improved) so you do not have to read it again.

Many thanks for the report, I reviewed it and have this result:

The message
Bus #03 (-#06) is hidden behind transparent bridge #02 (-#03)

indicates that some PCI busses may not reachable by your system, but it is
very likely that if these bus is CardBus slots, then yenta-socket
fixes this in current kernels, and lets you see your cardbus cards,
so when they are, there is no issue at all and you'll see your CardBus
cards in lspci and they should be picked up by the drivers which are
loaded also.

Unless you have PCI hardware (such as CardBus cards, not old PCMCIA cards)
connected to your machine which is not shown by lspci after loading all
neccessary drivers (eg. yenta_socket), we can close this bug:

I'd then go forward and simply propose to either delete this warning check
or to change it it a PCI-internal warning message and refine it a bit (so
that it only is triggered in cases which are not addressed by yenta-socket)

Not that if a secific driver is not working, then this is not in relation
to this bug report, this bug report is only about PCI devices which may
potentially not show up in lspci and for which the driver also will never see.

Unless the PCI device is not shown in PCI, open a new bug if you have an
issue with a driver.

With your laptop, there would only be an issue if you connect an external PCI
enclosure which itself has further internal PCI busses thru your cardbus
slot to your laptop, but that case is also adressed by yenta-socket in
current kernels.

Again many thanks for the report and if I hear nothing new regarding this
bug report, I'll close it when the 'bus hidden behind bridge' message is fixed.
Comment 6 Bernhard Kaindl 2007-10-16 06:34:43 UTC
The PCI misconfiguration which is being indicated in this message only turned out to be an issue with CardBus and it is being fixed up within the possible limits of that approach in CardBus driver with yenta_fixup_parent_bridge() (since 2.6.18) and as that has turned out as sufficient, we changed the reporting of this misconfiguration to be printed only when debugging PCI:

In a patch which is merged mainline with 2.6.22.6 and 2.6.23, I improved the the message and changed it a PCI debugging message only, so it's not shown unless PCI is being debugged.

The issue can be considered to be closed now.

Is this just a warning which I left in to be sure that the reason for it is properly dealt with, but we removed it from the normal user's sight now because we found

* that the PCI misconfiguration which is being indicated in this message only
  seems to be an issue with CardBus.
* that the CardBus fixup code which we have in place since 2.6.18 with appears
  to be sufficient.

Thus, I submitted a patch which was merged mainline with 2.6.22.6 and 2.6.23
that turns it into a message which is only enabled when debugging PCI, so in
practical users terms, the warning is gone. 


*** This bug has been marked as a duplicate of bug 7531 ***