Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c9f11c30 authored by Jia Hongtao's avatar Jia Hongtao Committed by Kumar Gala
Browse files

powerpc/fsl-pci: Only scan PCI bus if configured as a host



We change fsl_add_bridge to return -ENODEV if the controller is working in
agent mode. Then check the return value of fsl_add_bridge to guarantee
that only successfully added host bus will be scanned.

Signed-off-by: default avatarJia Hongtao <B38951@freescale.com>
Signed-off-by: default avatarLi Yang <leoli@freescale.com>
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 0d7614f0
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -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,12 +856,14 @@ void __devinit fsl_pci_init(void)
			if (!fsl_pci_primary)
				fsl_pci_primary = node;

			fsl_add_bridge(node, fsl_pci_primary == node);
			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);
			}
		}
	}

#ifdef CONFIG_SWIOTLB
	/*