diff --git a/msm/sde/sde_encoder.c b/msm/sde/sde_encoder.c index d19a5e2d93..45b008efd6 100644 --- a/msm/sde/sde_encoder.c +++ b/msm/sde/sde_encoder.c @@ -3109,7 +3109,7 @@ static void sde_encoder_virt_disable(struct drm_encoder *drm_enc) /* reset connector topology name property */ if (sde_enc->cur_master && sde_enc->cur_master->connector && - sde_enc->crtc->state->active_changed) { + sde_enc->crtc && sde_enc->crtc->state->active_changed) { ret = sde_rm_update_topology(&sde_kms->rm, sde_enc->cur_master->connector->state, NULL); if (ret) { @@ -5531,6 +5531,8 @@ int sde_encoder_update_caps_for_cont_splash(struct drm_encoder *encoder, conn->base.id); } + sde_enc->crtc = encoder->crtc; + ret = sde_rm_reserve(&sde_kms->rm, encoder, encoder->crtc->state, conn->state, false); if (ret) {