[PATCH] drm: Don't set the plane->fb to NULL on successfull set_plane
Thierry Reding
thierry.reding at avionic-design.de
Tue Feb 19 07:37:40 PST 2013
On Fri, Feb 15, 2013 at 09:21:37PM +0100, Daniel Vetter wrote:
> We need to clear the local variable to get the refcounting right
> (since the reference drm_mode_setplane holds is transferred to the
> plane->fb pointer). But should be done _after_ we update the pointer.
>
> Breakage introduced in
>
> commit 6c2a75325c800de286166c693e0cd33c3a1c5ec8
> Author: Daniel Vetter <daniel.vetter at ffwll.ch>
> Date: Tue Dec 11 00:59:24 2012 +0100
>
> drm: refcounting for sprite framebuffers
>
> Reported-by: Jesse Barnes <jbarnes at virtuousgeek.org>
> Cc: Jesse Barnes <jbarnes at virtuousgeek.org>
> Cc: Rob Clark <rob at ti.com>
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
> drivers/gpu/drm/drm_crtc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 826a5ca..1960418 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -1982,9 +1982,9 @@ int drm_mode_setplane(struct drm_device *dev, void *data,
> plane_req->src_w, plane_req->src_h);
> if (!ret) {
> old_fb = plane->fb;
> - fb = NULL;
> plane->crtc = crtc;
> plane->fb = fb;
> + fb = NULL;
> }
> drm_modeset_unlock_all(dev);
>
Ugh... and again I sent the same patch because I didn't look properly
and missed yours.
Reviewed-by: Thierry Reding <thierry.reding at avionic-design.de>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20130219/69231c46/attachment.pgp>
More information about the dri-devel
mailing list