Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1335861

[PATCH 1/6] drm/vc4: Fix a framebuffer reference leak on async flip interrupt.

From Eric Anholt <eric@anholt.net>
Newsgroups linux.kernel
Subject [PATCH 1/6] drm/vc4: Fix a framebuffer reference leak on async flip interrupt.
Date 2016-02-16 22:30 +0100
Message-ID <r2Vm4-4ZP-31@gated-at.bofh.it> (permalink)
References <r2Vm2-4ZP-17@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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 <eric@anholt.net>
---
 drivers/gpu/drm/vc4/vc4_crtc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c
index 68227cc..bb74cb9 100644
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
@@ -527,6 +527,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;
 	}
-- 
2.7.0

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

drm/vc4: Modesetting fixes Eric Anholt <eric@anholt.net> - 2016-02-16 22:30 +0100
  [PATCH 5/6] drm/vc4: Fix setting of vertical timings in the CRTC. Eric Anholt <eric@anholt.net> - 2016-02-16 22:30 +0100
  [PATCH 1/6] drm/vc4: Fix a framebuffer reference leak on async flip interrupt. Eric Anholt <eric@anholt.net> - 2016-02-16 22:30 +0100
  [PATCH 2/6] drm/vc4: Bring HDMI up from power off if necessary. Eric Anholt <eric@anholt.net> - 2016-02-16 22:30 +0100

csiph-web