|
@@ -465,7 +465,7 @@ int __init fsl_add_bridge(struct device_node *dev, int is_primary)
|
|
|
iounmap(hose->cfg_data);
|
|
|
iounmap(hose->cfg_addr);
|
|
|
pcibios_free_controller(hose);
|
|
|
- return 0;
|
|
|
+ return -ENODEV;
|
|
|
}
|
|
|
|
|
|
setup_pci_cmd(hose);
|
|
@@ -827,6 +827,7 @@ struct device_node *fsl_pci_primary;
|
|
|
|
|
|
void __devinit fsl_pci_init(void)
|
|
|
{
|
|
|
+ int ret;
|
|
|
struct device_node *node;
|
|
|
struct pci_controller *hose;
|
|
|
dma_addr_t max = 0xffffffff;
|
|
@@ -855,10 +856,12 @@ void __devinit fsl_pci_init(void)
|
|
|
if (!fsl_pci_primary)
|
|
|
fsl_pci_primary = node;
|
|
|
|
|
|
- fsl_add_bridge(node, fsl_pci_primary == node);
|
|
|
- hose = pci_find_hose_for_OF_device(node);
|
|
|
- max = min(max, hose->dma_window_base_cur +
|
|
|
- hose->dma_window_size);
|
|
|
+ ret = fsl_add_bridge(node, fsl_pci_primary == node);
|
|
|
+ if (ret == 0) {
|
|
|
+ hose = pci_find_hose_for_OF_device(node);
|
|
|
+ max = min(max, hose->dma_window_base_cur +
|
|
|
+ hose->dma_window_size);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|