Commit c56b2ddd authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Tony Lindgren

omap: iommu: Return IRQ_HANDLED in fault handler when no fault occured

Commit d594f1f3 (omap: IOMMU: add
support to callback during fault handling) broke interrupt line sharing
between the OMAP3 ISP and its IOMMU. Because of this, every interrupt
generated by the OMAP3 ISP is handled by the IOMMU driver instead of
being passed to the OMAP3 ISP driver.
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: default avatarHiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 693d92a1
...@@ -793,6 +793,8 @@ static irqreturn_t iommu_fault_handler(int irq, void *data) ...@@ -793,6 +793,8 @@ static irqreturn_t iommu_fault_handler(int irq, void *data)
clk_enable(obj->clk); clk_enable(obj->clk);
errs = iommu_report_fault(obj, &da); errs = iommu_report_fault(obj, &da);
clk_disable(obj->clk); clk_disable(obj->clk);
if (errs == 0)
return IRQ_HANDLED;
/* Fault callback or TLB/PTE Dynamic loading */ /* Fault callback or TLB/PTE Dynamic loading */
if (obj->isr && !obj->isr(obj, da, errs, obj->isr_priv)) if (obj->isr && !obj->isr(obj, da, errs, obj->isr_priv))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment