mpc83xx: PCI: Fix hard-coded first_busno value
authorAnton Vorontsov <avorontsov@ru.mvista.com>
Thu, 19 Feb 2009 15:20:50 +0000 (18:20 +0300)
committerKim Phillips <kim.phillips@freescale.com>
Mon, 23 Feb 2009 21:52:23 +0000 (15:52 -0600)
We should use pci_last_busno() in pci_init_bus(), otherwise we'll
erroneously re-use PCI0's first_busno for PCI1 hoses.

NOTE: The patch is untested. All MPC83xx FSL boards I have have
PCI1 in miniPCI form, for which I don't have any cards handy.

But looking in cpu/mpc85xx/pci.c:
...
#ifdef CONFIG_MPC85XX_PCI2
        hose = &pci_hose[1];

        hose->first_busno = pci_hose[0].last_busno + 1;

And considering that we do the same for MPC83xx PCI-E support,
I think this patch is correct.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
cpu/mpc83xx/pci.c

index 8f5017cc19828e65ba7988f3d2158d92da15fc4d..a42b230ff35e62db43727e437a6f97bd7f30771c 100644 (file)
@@ -91,7 +91,7 @@ static void pci_init_bus(int bus, struct pci_region *reg)
        hose->regions[i].size = gd->ram_size;
        hose->regions[i].flags = PCI_REGION_MEM | PCI_REGION_SYS_MEMORY;
 
-       hose->first_busno = 0;
+       hose->first_busno = pci_last_busno() + 1;
        hose->last_busno = 0xff;
 
        pci_setup_indirect(hose, CONFIG_SYS_IMMR + 0x8300 + bus * 0x80,