diff options
Diffstat (limited to 'drivers/pci.c')
| -rw-r--r-- | drivers/pci.c | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/drivers/pci.c b/drivers/pci.c index 050582f78..41589192c 100644 --- a/drivers/pci.c +++ b/drivers/pci.c @@ -490,10 +490,16 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus)  int pci_hose_scan(struct pci_controller *hose)  { +	/* Start scan at current_busno. +	 * PCIe will start scan at first_busno+1. +	 */ +	/* For legacy support, ensure current>=first */ +	if (hose->first_busno > hose->current_busno) +		hose->current_busno = hose->first_busno;  #ifdef CONFIG_PCI_PNP  	pciauto_config_init(hose);  #endif -	return pci_hose_scan_bus(hose, hose->first_busno); +	return pci_hose_scan_bus(hose, hose->current_busno);  }  void pci_init(void) |