When use "Intel PRO/1000 PT Quad Port Low Profile Server Adapter" card on P5040DS and T1040RDB, 32-bit kernel does not identify this card. This card has the four RJ-45 ports. The bus range of every pci is "bus-range = <0 0xff>" in dts file. So the first bus number of every pci should start from 0, and it does not start from next_busno. The next_busno is used to count the bus sum of all pci devices. So the value of next_busno is accumulated. This patch fixes this issue, and "Intel PRO/1000 PT Quad Port Low Profile Server Adapter" card can work rightly. Signed-off-by: Chunhe Lan <Chunhe.Lan@xxxxxxxxxxxxx> --- arch/powerpc/kernel/pci_32.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c index 432459c..a194685 100644 --- a/arch/powerpc/kernel/pci_32.c +++ b/arch/powerpc/kernel/pci_32.c @@ -236,13 +236,13 @@ static int __init pcibios_init(void) /* Scan all of the recorded PCI controllers. */ list_for_each_entry_safe(hose, tmp, &hose_list, list_node) { - if (pci_assign_all_buses) - hose->first_busno = next_busno; + hose->first_busno = 0; hose->last_busno = 0xff; pcibios_scan_phb(hose); pci_bus_add_devices(hose->bus); if (pci_assign_all_buses || next_busno <= hose->last_busno) - next_busno = hose->last_busno + pcibios_assign_bus_offset; + next_busno += hose->last_busno + + pcibios_assign_bus_offset; } pci_bus_count = next_busno; -- 1.7.6.5 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html