aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/sysdev/dart_iommu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/sysdev/dart_iommu.c')
-rw-r--r--arch/powerpc/sysdev/dart_iommu.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c
index a5b40d1460f1..283ce04c5844 100644
--- a/arch/powerpc/sysdev/dart_iommu.c
+++ b/arch/powerpc/sysdev/dart_iommu.c
@@ -428,7 +428,7 @@ void __init iommu_init_early_dart(struct pci_controller_ops *controller_ops)
428 428
429 /* Initialize the DART HW */ 429 /* Initialize the DART HW */
430 if (dart_init(dn) != 0) 430 if (dart_init(dn) != 0)
431 goto bail; 431 return;
432 432
433 /* Setup bypass if supported */ 433 /* Setup bypass if supported */
434 if (dart_is_u4) 434 if (dart_is_u4)
@@ -439,15 +439,6 @@ void __init iommu_init_early_dart(struct pci_controller_ops *controller_ops)
439 439
440 /* Setup pci_dma ops */ 440 /* Setup pci_dma ops */
441 set_pci_dma_ops(&dma_iommu_ops); 441 set_pci_dma_ops(&dma_iommu_ops);
442 return;
443
444 bail:
445 /* If init failed, use direct iommu and null setup functions */
446 controller_ops->dma_dev_setup = NULL;
447 controller_ops->dma_bus_setup = NULL;
448
449 /* Setup pci_dma ops */
450 set_pci_dma_ops(&dma_nommu_ops);
451} 442}
452 443
453#ifdef CONFIG_PM 444#ifdef CONFIG_PM