OSDN Git Service

msm: mdss: Change function from disbale_irq_nosync to disbale_irq
authorRashi Bindra <rbindra@codeaurora.org>
Thu, 19 Jul 2018 07:10:52 +0000 (12:40 +0530)
committerRashi Bindra <rbindra@codeaurora.org>
Mon, 30 Jul 2018 07:24:52 +0000 (12:54 +0530)
Potential deadlock can happen while we disable irq and at the same
time an irq is triggered to request for the same resource. Thus,
it will pre-empt the spin-lock. Hence, change the function call to
disbale_irq to prevent local interrupts.

Change-Id: I7b80810b13660df8801533d418c78f2db75dd5b6
Signed-off-by: Rashi Bindra <rbindra@codeaurora.org>
drivers/video/fbdev/msm/mdss_dsi_host.c

index 88f6b90..34cedaa 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -2263,7 +2263,7 @@ static int mdss_dsi_cmd_dma_tx(struct mdss_dsi_ctrl_pdata *ctrl,
                        /* clear CMD DMA and BTA_DONE isr only */
                        reg_val |= (DSI_INTR_CMD_DMA_DONE | DSI_INTR_BTA_DONE);
                        MIPI_OUTP(ctrl->ctrl_base + 0x0110, reg_val);
-                       mdss_dsi_disable_irq_nosync(ctrl, DSI_CMD_TERM);
+                       mdss_dsi_disable_irq(ctrl, DSI_CMD_TERM);
                        complete(&ctrl->dma_comp);
 
                        pr_warn("%s: dma tx done but irq not triggered\n",