diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/iommu2.c | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/iommu.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/iommu2.c b/arch/arm/mach-omap2/iommu2.c index edf7cd4b6553..14ee686b6492 100644 --- a/arch/arm/mach-omap2/iommu2.c +++ b/arch/arm/mach-omap2/iommu2.c | |||
@@ -172,7 +172,7 @@ static u32 omap2_iommu_fault_isr(struct iommu *obj, u32 *ra) | |||
172 | printk("\n"); | 172 | printk("\n"); |
173 | 173 | ||
174 | iommu_write_reg(obj, stat, MMU_IRQSTATUS); | 174 | iommu_write_reg(obj, stat, MMU_IRQSTATUS); |
175 | omap2_iommu_disable(obj); | 175 | |
176 | return stat; | 176 | return stat; |
177 | } | 177 | } |
178 | 178 | ||
diff --git a/arch/arm/plat-omap/iommu.c b/arch/arm/plat-omap/iommu.c index 688ae66bb8fc..a202a2ce6e3d 100644 --- a/arch/arm/plat-omap/iommu.c +++ b/arch/arm/plat-omap/iommu.c | |||
@@ -800,6 +800,8 @@ static irqreturn_t iommu_fault_handler(int irq, void *data) | |||
800 | if (!stat) | 800 | if (!stat) |
801 | return IRQ_HANDLED; | 801 | return IRQ_HANDLED; |
802 | 802 | ||
803 | iommu_disable(obj); | ||
804 | |||
803 | iopgd = iopgd_offset(obj, da); | 805 | iopgd = iopgd_offset(obj, da); |
804 | 806 | ||
805 | if (!iopgd_is_table(*iopgd)) { | 807 | if (!iopgd_is_table(*iopgd)) { |