Bug 237229 - report for using pci=assign-busses kernel parameter
Summary: report for using pci=assign-busses kernel parameter
Status: RESOLVED FIXED
Alias: None
Product: openSUSE 10.2
Classification: openSUSE
Component: Kernel (show other bugs)
Version: Final
Hardware: x86-64 Other
: P5 - None : Enhancement (vote)
Target Milestone: ---
Assignee: Bernhard Kaindl
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-21 23:02 UTC by Fatih Alabas
Modified: 2007-10-17 11:53 UTC (History)
0 users

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
dmesg output files (40.00 KB, application/x-tar)
2007-01-21 23:07 UTC, Fatih Alabas
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fatih Alabas 2007-01-21 23:02:23 UTC
I am using Compaq Presario M2251AU notebook; I got the message from the kernel at boot up as below:

[PCI: Bus #06 (-#09) is hidden behind transparent bridge #05 (-#05) (try 'pci=assign-busses')]
[Please report the result to linux-kernel to fix this permanently]

I tried this parameter at grub and the warning has disappeared. So this is the report as requested. 

Here attached the boot logs.
Comment 1 Fatih Alabas 2007-01-21 23:07:16 UTC
Created attachment 114085 [details]
dmesg output files
Comment 2 Bernhard Kaindl 2007-02-01 12:10:41 UTC
From my observations so far, this message is printed mainly on notebooks
with Cardbus slots, and on some of those, the BIOS-configured PCI bus
numbering is so that CardBus cards which are inserted in one of the
CardBus slots never detected by the kernel and not shown in lspci.

Your messages look like you have a BIOS with such PCI configuration,
hence the warning, and booting with pci=assign-busses causes the kernel
ignore the BIOS numbering and do PCI bus numbering himself, which fixes
the issue in any case.

If this message was just related to the CardBus bridge, the CardBus
driver (Yenta) would have attempted to correct the misconfiguration
itself, without pci=assign-busses.

If you boot without pci=assign-busses, and this warning was indeed
about the PCI ranges regarding the CardBus bridge, you should see
messages from the Yenta driver, where it tries to fix the PCI ranges
regarding the CardBus bridge.

If you see: "Yenta: Raising subordinate bus# of parent bus ....",
then in the kernel messages (boot log / dmesg) then Yenta has taken
care of it already and your Cardbus cards should work even without
pci=assign-busses.

In case they do not, please report it here please.

If you do not have any isses with/without pci=assign-busses,
please report as well.

Adding/removing pci=assign-busses may however invalidate your
X congiuration (no GUI then, only text mode, but running "sax2 -a"
should fix that) and possibly network configuration.

I all works for you without pci=assign-busses the message is
superflous in your case and should be removed in this case.
I'll try to find the time to write a proper check to catch that then.
Comment 3 Fatih Alabas 2007-02-02 21:58:17 UTC
(In reply to comment #2)
> From my observations so far, this message is printed mainly on notebooks
> with Cardbus slots, and on some of those, the BIOS-configured PCI bus
> numbering is so that CardBus cards which are inserted in one of the
> CardBus slots never detected by the kernel and not shown in lspci.
> Your messages look like you have a BIOS with such PCI configuration,
> hence the warning, and booting with pci=assign-busses causes the kernel
> ignore the BIOS numbering and do PCI bus numbering himself, which fixes
> the issue in any case.

My BIOS has no PCI configuration option, but yes, I have a notebook with a CardBus slot. 

> If this message was just related to the CardBus bridge, the CardBus
> driver (Yenta) would have attempted to correct the misconfiguration
> itself, without pci=assign-busses.
> If you boot without pci=assign-busses, and this warning was indeed
> about the PCI ranges regarding the CardBus bridge, you should see
> messages from the Yenta driver, where it tries to fix the PCI ranges
> regarding the CardBus bridge.
> If you see: "Yenta: Raising subordinate bus# of parent bus ....",
> then in the kernel messages (boot log / dmesg) then Yenta has taken
> care of it already and your Cardbus cards should work even without
> pci=assign-busses.

Yes, this message seems to be related to just CardBus bridge, I think that's why I see Yenta fixing the PCI ranges without pci=assign-busses at boot.

> In case they do not, please report it here please.
> If you do not have any isses with/without pci=assign-busses,
> please report as well.

Ok, I understand that I should find a PC card and test the both cases, should I?
With lspci, I see all the devices shown properly in both cases.

> Adding/removing pci=assign-busses may however invalidate your
> X congiuration (no GUI then, only text mode, but running "sax2 -a"
> should fix that) and possibly network configuration.

No problem occurs with X configuration and network when adding that parameter.
 
> I all works for you without pci=assign-busses the message is
> superflous in your case and should be removed in this case.
> I'll try to find the time to write a proper check to catch that then.

Should I check something else other than CardBus functionality ?

Comment 4 Bernhard Kaindl 2007-10-17 11:53:29 UTC
Hi, thanks for your test regarding that message. In upstream Linux, we have
removed that message from the user's view.

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

* that the PCI setup problem which is being indicated in this message only
  seems to be an issue with CardBus and
* 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.