|
@@ -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);
|
|
|
}
|
|
|
|