diff --git a/msm/sde/sde_encoder.c b/msm/sde/sde_encoder.c index ae5f30753df2..65835ea17bb6 100644 --- a/msm/sde/sde_encoder.c +++ b/msm/sde/sde_encoder.c @@ -3344,7 +3344,8 @@ static void sde_encoder_virt_disable(struct drm_encoder *drm_enc) /* wait for idle */ sde_encoder_wait_for_event(drm_enc, MSM_ENC_TX_COMPLETE); - if (sde_enc->input_handler) + if (sde_enc->input_handler && + sde_encoder_check_curr_mode(drm_enc, MSM_DISPLAY_CMD_MODE)) input_unregister_handler(sde_enc->input_handler); /*