From 4acd09b4bfd4a653fcf02e422890d98764c0f1ff Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Tue, 14 Apr 2015 16:49:06 +1000 Subject: [PATCH] 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 --- arch/powerpc/platforms/cell/setup.c | 4 ++-- 1 file 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) 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;