diff --git a/msm/sde/sde_crtc.c b/msm/sde/sde_crtc.c index 0f00d3cc8d..d846057a6d 100644 --- a/msm/sde/sde_crtc.c +++ b/msm/sde/sde_crtc.c @@ -3506,10 +3506,15 @@ static void _sde_crtc_schedule_idle_notify(struct drm_crtc *crtc, struct sde_crtc *sde_crtc = to_sde_crtc(crtc); struct sde_crtc_state *cstate = to_sde_crtc_state(old_state); struct sde_kms *sde_kms = _sde_crtc_get_kms(crtc); - struct msm_drm_private *priv = sde_kms->dev->dev_private; + struct msm_drm_private *priv; struct msm_drm_thread *event_thread; int idle_time = 0; + if (!sde_kms || !sde_kms->dev || !sde_kms->dev->dev_private) + return; + + priv = sde_kms->dev->dev_private; + idle_time = sde_crtc_get_property(cstate, CRTC_PROP_IDLE_TIMEOUT); if (!idle_time || diff --git a/msm/sde/sde_encoder.c b/msm/sde/sde_encoder.c index b5be75393b..2c96618310 100644 --- a/msm/sde/sde_encoder.c +++ b/msm/sde/sde_encoder.c @@ -2618,7 +2618,7 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc) struct drm_display_mode *cur_mode = NULL; struct msm_display_info *disp_info; - if (!drm_enc) { + if (!drm_enc || !drm_enc->crtc) { SDE_ERROR("invalid encoder\n"); return; } @@ -2630,7 +2630,7 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc) return; } - if (drm_enc->crtc && !sde_enc->crtc) + if (!sde_enc->crtc) sde_enc->crtc = drm_enc->crtc; comp_info = &sde_enc->mode_info.comp_info; diff --git a/msm/sde/sde_rm.c b/msm/sde/sde_rm.c index 7eea9dd4d0..d796f9af88 100644 --- a/msm/sde/sde_rm.c +++ b/msm/sde/sde_rm.c @@ -2286,8 +2286,8 @@ void sde_rm_release(struct sde_rm *rm, struct drm_encoder *enc, bool nxt) if (!conn) { SDE_EVT32(enc->base.id, 0x0, 0xffffffff); _sde_rm_release_rsvp(rm, rsvp, conn); - SDE_DEBUG("failed to get conn for enc %d nxt %d rsvp[s%de%d]\n", - enc->base.id, nxt, rsvp->seq, rsvp->enc_id); + SDE_DEBUG("failed to get conn for enc %d nxt %d\n", + enc->base.id, nxt); goto end; }