Merge "disp: msm: sde: drop suspend state if commit is skipped"

This commit is contained in:
qctecmdr
2022-03-31 17:23:16 -07:00
committed by Gerrit - the friendly Code Review server

View File

@@ -3985,6 +3985,7 @@ retry:
DRM_ERROR("failed to get crtc %d state\n", DRM_ERROR("failed to get crtc %d state\n",
conn->state->crtc->base.id); conn->state->crtc->base.id);
drm_connector_list_iter_end(&conn_iter); drm_connector_list_iter_end(&conn_iter);
ret = -EINVAL;
goto unlock; goto unlock;
} }
@@ -4023,6 +4024,12 @@ unlock:
drm_modeset_backoff(&ctx); drm_modeset_backoff(&ctx);
goto retry; goto retry;
} }
if ((ret || !num_crtcs) && sde_kms->suspend_state) {
drm_atomic_state_put(sde_kms->suspend_state);
sde_kms->suspend_state = NULL;
}
drm_modeset_drop_locks(&ctx); drm_modeset_drop_locks(&ctx);
drm_modeset_acquire_fini(&ctx); drm_modeset_acquire_fini(&ctx);
@@ -4061,6 +4068,7 @@ static int sde_kms_pm_resume(struct device *dev)
SDE_EVT32(sde_kms->suspend_state != NULL); SDE_EVT32(sde_kms->suspend_state != NULL);
if (sde_kms->suspend_state)
drm_mode_config_reset(ddev); drm_mode_config_reset(ddev);
drm_modeset_acquire_init(&ctx, 0); drm_modeset_acquire_init(&ctx, 0);