The atomic_remove_fb() function uses the deprecated
drm_atomic_get_existing_crtc_state() helper.

Despite its name, this function builds and commit a new
drm_atomic_state, and the call to drm_atomic_get_existing_crtc_state()
is part of the state building, thus happening before the states are
swapped.

As such, the existing state points to the new state, and we can use
drm_atomic_get_new_crtc_state() instead.

Signed-off-by: Maxime Ripard <mrip...@kernel.org>
---
 drivers/gpu/drm/drm_framebuffer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_framebuffer.c 
b/drivers/gpu/drm/drm_framebuffer.c
index 
adbb73f00d68b8fb7c1d99a4209d5b4e91ec5f8d..18e753ade0011b87d0728bdb27d26ea37d75c213
 100644
--- a/drivers/gpu/drm/drm_framebuffer.c
+++ b/drivers/gpu/drm/drm_framebuffer.c
@@ -1046,11 +1046,11 @@ static int atomic_remove_fb(struct drm_framebuffer *fb)
                        drm_dbg_kms(dev,
                                    "Disabling [CRTC:%d:%s] because [FB:%d] is 
removed\n",
                                    plane_state->crtc->base.id,
                                    plane_state->crtc->name, fb->base.id);
 
-                       crtc_state = drm_atomic_get_existing_crtc_state(state, 
plane_state->crtc);
+                       crtc_state = drm_atomic_get_new_crtc_state(state, 
plane_state->crtc);
 
                        ret = drm_atomic_add_affected_connectors(state, 
plane_state->crtc);
                        if (ret)
                                goto unlock;
 

-- 
2.50.1

Reply via email to