drm: Make the fb refcount handover less magic
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 22 Mar 2018 15:22:57 +0000 (17:22 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 29 Mar 2018 16:14:21 +0000 (19:14 +0300)
Instead of assigning the plane->fb pointer and clearing the fb pointer
to hand over the reference, let's just do it by grabbing another
referece for plane->fb and let fb keep its original one.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180322152313.6561-8-ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
drivers/gpu/drm/drm_plane.c

index bedceca..008f945 100644 (file)
@@ -1084,8 +1084,7 @@ retry:
                plane->old_fb = NULL;
        } else {
                plane->fb = fb;
-               /* Unref only the old framebuffer. */
-               fb = NULL;
+               drm_framebuffer_get(fb);
        }
 
 out: