diff options
author | Michael Ellerman <mpe@ellerman.id.au> | 2015-04-14 02:49:06 -0400 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2015-04-14 03:13:31 -0400 |
commit | 4acd09b4bfd4a653fcf02e422890d98764c0f1ff (patch) | |
tree | 5d092bff677cbd7c6946d3843a052af473f749b1 /arch | |
parent | 89a51df5ab1d38b257300b8ac940bbac3bb0eb9b (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.c | 4 |
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; |