aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2015-04-14 02:49:06 -0400
committerMichael Ellerman <mpe@ellerman.id.au>2015-04-14 03:13:31 -0400
commit4acd09b4bfd4a653fcf02e422890d98764c0f1ff (patch)
tree5d092bff677cbd7c6946d3843a052af473f749b1 /arch
parent89a51df5ab1d38b257300b8ac940bbac3bb0eb9b (diff)
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')
-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 d1be268b1e6e..36cff28d0293 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)
127 if (rc) 127 if (rc)
128 return rc; 128 return rc;
129 129
130 phb->controller_ops = cell_pci_controller_ops;
131
130 np = phb->dn; 132 np = phb->dn;
131 model = of_get_property(np, "model", NULL); 133 model = of_get_property(np, "model", NULL);
132 if (model == NULL || strcmp(np->name, "pci")) 134 if (model == NULL || strcmp(np->name, "pci"))
133 return 0; 135 return 0;
134 136
135 phb->controller_ops = cell_pci_controller_ops;
136
137 /* Setup workarounds for spider */ 137 /* Setup workarounds for spider */
138 if (strcmp(model, "Spider")) 138 if (strcmp(model, "Spider"))
139 return 0; 139 return 0;