diff --git a/msm/sde/sde_encoder.c b/msm/sde/sde_encoder.c index 0748bfd43b7d..2532f0ae4f91 100644 --- a/msm/sde/sde_encoder.c +++ b/msm/sde/sde_encoder.c @@ -3336,7 +3336,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); /*