30a6b5c41be7fff5c23e6dc8eaf025af3efeabcd
[openwrt/openwrt.git] / target / linux / bcm27xx / patches-5.15 / 950-0179-drm-v3d-Plug-dma_fence-leak.patch
1 From 4799df403a918e84b5e18aae9dfa99acf0786aa8 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Tue, 12 Nov 2019 16:41:21 +0000
4 Subject: [PATCH] drm/v3d: Plug dma_fence leak
5
6 The irq_fence and done_fence are given a reference that is never
7 released. The necessary dma_fence_put()s seem to have been
8 deleted in error in an earlier commit.
9
10 Fixes: 0b73676836b2 ("drm/v3d: Clock V3D down when not in use.")
11
12 Signed-off-by: Phil Elwell <phil@raspberrypi.org>
13 ---
14 drivers/gpu/drm/v3d/v3d_gem.c | 3 +++
15 1 file changed, 3 insertions(+)
16
17 --- a/drivers/gpu/drm/v3d/v3d_gem.c
18 +++ b/drivers/gpu/drm/v3d/v3d_gem.c
19 @@ -414,6 +414,9 @@ v3d_job_free(struct kref *ref)
20 }
21 xa_destroy(&job->deps);
22
23 + dma_fence_put(job->irq_fence);
24 + dma_fence_put(job->done_fence);
25 +
26 v3d_clock_up_put(v3d);
27
28 if (job->perfmon)