diff --git a/techpack/display/msm/sde/sde_encoder_phys_cmd.c b/techpack/display/msm/sde/sde_encoder_phys_cmd.c index f9f3873e3d11..545b2e3284fa 100644 --- a/techpack/display/msm/sde/sde_encoder_phys_cmd.c +++ b/techpack/display/msm/sde/sde_encoder_phys_cmd.c @@ -525,12 +525,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); } /*