drm/atomic: Add missing drm_atomic_state_clear to atomic_remove_fb
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Thu, 29 Jun 2017 11:59:54 +0000 (13:59 +0200)
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Mon, 3 Jul 2017 08:31:37 +0000 (10:31 +0200)
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+
drivers/gpu/drm/drm_framebuffer.c

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