瀏覽代碼

drm/atomic: Add missing drm_atomic_state_clear to atomic_remove_fb

All atomic state should be cleared when drm_modeset_backoff() is
called, because it drops all locks and the state becomes invalid.

The call to drm_atomic_state_clear was missing in atomic_remove_fb,
so add the missing call there.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170629115954.26029-1-maarten.lankhorst@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Fixes: db8f6403e88a ("drm: Convert drm_framebuffer_remove to atomic, v4.")
Cc: stable@vger.kernel.org # v4.12-rc1+
Maarten Lankhorst 8 年之前
父節點
當前提交
4086d90cff
共有 1 個文件被更改,包括 1 次插入0 次删除
  1. 1 0
      drivers/gpu/drm/drm_framebuffer.c

+ 1 - 0
drivers/gpu/drm/drm_framebuffer.c

@@ -832,6 +832,7 @@ unlock:
 		drm_atomic_clean_old_fb(dev, plane_mask, ret);
 		drm_atomic_clean_old_fb(dev, plane_mask, ret);
 
 
 	if (ret == -EDEADLK) {
 	if (ret == -EDEADLK) {
+		drm_atomic_state_clear(state);
 		drm_modeset_backoff(&ctx);
 		drm_modeset_backoff(&ctx);
 		goto retry;
 		goto retry;
 	}
 	}