diff options
Diffstat (limited to 'arch/mips/pci/pci.c')
-rw-r--r-- | arch/mips/pci/pci.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c index 170c6650f961..21402ffd7c98 100644 --- a/arch/mips/pci/pci.c +++ b/arch/mips/pci/pci.c | |||
@@ -127,15 +127,20 @@ static int __init pcibios_init(void) | |||
127 | if (!hose->iommu) | 127 | if (!hose->iommu) |
128 | PCI_DMA_BUS_IS_PHYS = 1; | 128 | PCI_DMA_BUS_IS_PHYS = 1; |
129 | 129 | ||
130 | if (hose->get_busno && pci_probe_only) | ||
131 | next_busno = (*hose->get_busno)(); | ||
132 | |||
130 | bus = pci_scan_bus(next_busno, hose->pci_ops, hose); | 133 | bus = pci_scan_bus(next_busno, hose->pci_ops, hose); |
131 | hose->bus = bus; | 134 | hose->bus = bus; |
132 | hose->need_domain_info = need_domain_info; | 135 | hose->need_domain_info = need_domain_info; |
133 | next_busno = bus->subordinate + 1; | 136 | if (bus) { |
134 | /* Don't allow 8-bit bus number overflow inside the hose - | 137 | next_busno = bus->subordinate + 1; |
135 | reserve some space for bridges. */ | 138 | /* Don't allow 8-bit bus number overflow inside the hose - |
136 | if (next_busno > 224) { | 139 | reserve some space for bridges. */ |
137 | next_busno = 0; | 140 | if (next_busno > 224) { |
138 | need_domain_info = 1; | 141 | next_busno = 0; |
142 | need_domain_info = 1; | ||
143 | } | ||
139 | } | 144 | } |
140 | continue; | 145 | continue; |
141 | 146 | ||