diff --git a/msm/sde/sde_encoder_phys_cmd.c b/msm/sde/sde_encoder_phys_cmd.c index fe2af2422a19..b5bdddf33296 100644 --- a/msm/sde/sde_encoder_phys_cmd.c +++ b/msm/sde/sde_encoder_phys_cmd.c @@ -538,12 +538,14 @@ static int _sde_encoder_phys_cmd_handle_ppdone_timeout( pending_kickoff_cnt); SDE_EVT32(DRMID(phys_enc->parent), SDE_EVTLOG_FATAL); + mutex_lock(phys_enc->vblank_ctl_lock); sde_encoder_helper_unregister_irq(phys_enc, INTR_IDX_RDPTR); if (sde_kms_is_secure_session_inprogress(phys_enc->sde_kms)) SDE_DBG_DUMP("secure", "all", "dbg_bus"); else SDE_DBG_DUMP("all", "dbg_bus", "vbif_dbg_bus"); sde_encoder_helper_register_irq(phys_enc, INTR_IDX_RDPTR); + mutex_unlock(phys_enc->vblank_ctl_lock); } /*