aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/cell/setup.c
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2015-04-14 16:49:06 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2015-04-14 17:13:31 +1000
commit4acd09b4bfd4a653fcf02e422890d98764c0f1ff (patch)
tree5d092bff677cbd7c6946d3843a052af473f749b1 /arch/powerpc/platforms/cell/setup.c
parent89a51df5ab1d38b257300b8ac940bbac3bb0eb9b (diff)
downloadlinux-4acd09b4bfd4a653fcf02e422890d98764c0f1ff.tar.gz
powerpc/cell: Fix iommu breakage caused by controller_ops change
The recent patch to convert cell to use pci_controller_ops had a small bug which broke machines using an iommu. The set of phb->controller_ops was added after the check for name != "pci", meaning pcix/pcie PHBs weren't getting their ops set correctly. Fixes: 9c1368fc50e7 ("powerpc/cell: Move controller ops from ppc_md to controller_ops") Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/platforms/cell/setup.c')
-rw-r--r--arch/powerpc/platforms/cell/setup.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/cell/setup.c b/arch/powerpc/platforms/cell/setup.c
index d1be268b1e6e12..36cff28d0293b5 100644
--- a/arch/powerpc/platforms/cell/setup.c
+++ b/arch/powerpc/platforms/cell/setup.c
@@ -127,13 +127,13 @@ static int cell_setup_phb(struct pci_controller *phb)
if (rc)
return rc;
+ phb->controller_ops = cell_pci_controller_ops;
+
np = phb->dn;
model = of_get_property(np, "model", NULL);
if (model == NULL || strcmp(np->name, "pci"))
return 0;
- phb->controller_ops = cell_pci_controller_ops;
-
/* Setup workarounds for spider */
if (strcmp(model, "Spider"))
return 0;