drm/qxl: unref cursor bo when finished with it
qxl_cursor_atomic_update allocs a bo for the cursor that it never frees up at the end of the function. This commit fixes that. Signed-off-by: Ray Strode <rstrode@redhat.com> Cc: stable@vger.kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
3f1f0b1c57
commit
16c6db3688
|
@ -575,7 +575,7 @@ static void qxl_cursor_atomic_update(struct drm_plane *plane,
|
||||||
struct qxl_cursor_cmd *cmd;
|
struct qxl_cursor_cmd *cmd;
|
||||||
struct qxl_cursor *cursor;
|
struct qxl_cursor *cursor;
|
||||||
struct drm_gem_object *obj;
|
struct drm_gem_object *obj;
|
||||||
struct qxl_bo *cursor_bo, *user_bo = NULL;
|
struct qxl_bo *cursor_bo = NULL, *user_bo = NULL;
|
||||||
int ret;
|
int ret;
|
||||||
void *user_ptr;
|
void *user_ptr;
|
||||||
int size = 64*64*4;
|
int size = 64*64*4;
|
||||||
|
@ -645,6 +645,8 @@ static void qxl_cursor_atomic_update(struct drm_plane *plane,
|
||||||
qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false);
|
qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false);
|
||||||
qxl_release_fence_buffer_objects(release);
|
qxl_release_fence_buffer_objects(release);
|
||||||
|
|
||||||
|
qxl_bo_unref(&cursor_bo);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
out_backoff:
|
out_backoff:
|
||||||
|
|
Loading…
Reference in New Issue