Re: One problem in reassign pci bus number?

From: Yinghai Lu
Date: Mon Apr 23 2012 - 16:13:39 EST


On Sun, Apr 22, 2012 at 8:52 AM, Richard Yang
<weiyang@xxxxxxxxxxxxxxxxxx> wrote:
> All,
>
> I am reading the pci_scan_bridge() and not sure what will happen in
> following situation.
>
> Suppose the kernel is not passed the pci=assign-busses.
>
> Below is a picture about the pci system.
>
>                   +-------+
>                   |       | root bridge(0,255)
>                   +---+---+
>                       |          Bus 0
>      -----+-----------+------------------------------+--
>           |                                          |
>           |                                          |
>           |                                          |
>      +----+----+                               +-----+-----+
>      |         |  B1(1,15)                     |           |B2(16,28)
>      +----+----+                               +-----+-----+
>           |  Bus 1                                   |    Bus 16
>      -----+-----------------------         ----------+----------------
>                            |
>                       +----+----+
>                       |         | B3
>                       +---------+
>
> Suppose B1 and B2 works fine with the BIOS, which get the right bus
> number and range.
>
> B3 does not works fine with the BIOS, which doesn't get the bus number.
>
> So in pci_scan_bridge(), B3 will be met in the second pass and get bus
> number 16?
> Would this be a conflict?

busn_alloc patchset should address your concern.

git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git
for-pci-busn-alloc

Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/