diff options
Diffstat (limited to 'arch/mips/pci/pci.c')
-rw-r--r-- | arch/mips/pci/pci.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c index a8d499b0a36f..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 | ||
@@ -164,7 +169,7 @@ static int pcibios_enable_resources(struct pci_dev *dev, int mask) | |||
164 | 169 | ||
165 | pci_read_config_word(dev, PCI_COMMAND, &cmd); | 170 | pci_read_config_word(dev, PCI_COMMAND, &cmd); |
166 | old_cmd = cmd; | 171 | old_cmd = cmd; |
167 | for(idx=0; idx<6; idx++) { | 172 | for (idx=0; idx < PCI_NUM_RESOURCES; idx++) { |
168 | /* Only set up the requested stuff */ | 173 | /* Only set up the requested stuff */ |
169 | if (!(mask & (1<<idx))) | 174 | if (!(mask & (1<<idx))) |
170 | continue; | 175 | continue; |