From: Eric Anholt Date: Fri, 5 Feb 2016 23:06:15 +0000 (-0800) Subject: drm/vc4: Fix a framebuffer reference leak on async flip interrupt. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=48627eb8dc55c60d35794105f6f79fb627347dbd;p=deliverable%2Flinux.git drm/vc4: Fix a framebuffer reference leak on async flip interrupt. We'd need X to queue up an async pageflip while another is outstanding, and then take a SIGIO. I think X actually avoids sending out the next pageflip while one's already queued, but I'm not sure. Signed-off-by: Eric Anholt --- diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c index 018145e0b87d..989ee728e2b0 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -544,6 +544,7 @@ static int vc4_async_page_flip(struct drm_crtc *crtc, /* Make sure all other async modesetes have landed. */ ret = down_interruptible(&vc4->async_modeset); if (ret) { + drm_framebuffer_unreference(fb); kfree(flip_state); return ret; }