summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-01-17 17:18:11 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-01-17 17:18:11 -0800
commit600a4d7f8f2c4d439acd35fa52909d45de179987 (patch)
treebcdb103f8f03899c497fa4c4f4442e87acdd4a0d
parentfb4974cfc6f62722dff29154aa1570d37dc1c778 (diff)
parenta8af8f1c134455273a74c495e0b1c35e6a473feb (diff)
Merge "msm: isp: Prevents interrupt storm on ISPIF overflow."
-rw-r--r--drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c b/drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c
index dc2061fc4537..5264bba57c8d 100644
--- a/drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c
+++ b/drivers/media/platform/msm/camera_v2/ispif/msm_ispif.c
@@ -1447,6 +1447,12 @@ static inline void msm_ispif_read_irq_status(struct ispif_irq_status *out,
pr_err_ratelimited("%s: fatal error, stop ispif immediately\n",
__func__);
for (i = 0; i < ispif->vfe_info.num_vfe; i++) {
+ msm_camera_io_w(0x0,
+ ispif->base + ISPIF_VFE_m_IRQ_MASK_0(i));
+ msm_camera_io_w(0x0,
+ ispif->base + ISPIF_VFE_m_IRQ_MASK_1(i));
+ msm_camera_io_w(0x0,
+ ispif->base + ISPIF_VFE_m_IRQ_MASK_2(i));
msm_camera_io_w(ISPIF_STOP_INTF_IMMEDIATELY,
ispif->base + ISPIF_VFE_m_INTF_CMD_0(i));
msm_camera_io_w(ISPIF_STOP_INTF_IMMEDIATELY,