From 92ecce28737b019d2dba328be3fba29fb9cd02e2 Mon Sep 17 00:00:00 2001 From: Lei Chen Date: Fri, 13 Mar 2020 23:21:21 +0800 Subject: [PATCH] disp: msm: Subtract DSI interrupt count after interrupt was destroyed DSI interrupt may be destroyed before it is disabled, it will cause to the interrupt count can't be cleared, so subtrace DSI interrupt count in disable function even it was destroyed. Change-Id: I430b0281957db588c7405d5775d0c10f2f498b36 Signed-off-by: Lei Chen Signed-off-by: Satya Rama Aditya Pinapala --- msm/dsi/dsi_ctrl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/msm/dsi/dsi_ctrl.c b/msm/dsi/dsi_ctrl.c index d8222ddb8acc..2effaea826ee 100644 --- a/msm/dsi/dsi_ctrl.c +++ b/msm/dsi/dsi_ctrl.c @@ -2675,8 +2675,7 @@ void dsi_ctrl_disable_status_interrupt(struct dsi_ctrl *dsi_ctrl, { unsigned long flags; - if (!dsi_ctrl || dsi_ctrl->irq_info.irq_num == -1 || - intr_idx >= DSI_STATUS_INTERRUPT_COUNT) + if (!dsi_ctrl || intr_idx >= DSI_STATUS_INTERRUPT_COUNT) return; SDE_EVT32(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY); @@ -2689,7 +2688,8 @@ void dsi_ctrl_disable_status_interrupt(struct dsi_ctrl *dsi_ctrl, dsi_ctrl->irq_info.irq_stat_mask); /* don't need irq if no lines are enabled */ - if (dsi_ctrl->irq_info.irq_stat_mask == 0) + if (dsi_ctrl->irq_info.irq_stat_mask == 0 && + dsi_ctrl->irq_info.irq_num != -1) disable_irq_nosync(dsi_ctrl->irq_info.irq_num); }