aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-4.19/950-0325-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch
blob: 6133840b716ed5f885e318db49cacd9608307fdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
From 4027b08d96c68919f51c768a23877283ef5aefb9 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Fri, 8 Mar 2019 11:11:46 +0000
Subject: [PATCH] staging: vc-sm-cma: Ensure mutex and idr are
 destroyed

map_lock and kernelid_map are created in probe, but not released
in release should the vcsm service not connect (eg running the
cutdown firmware).

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
---
 drivers/staging/vc04_services/vc-sm-cma/vc_sm.c | 2 ++
 1 file changed, 2 insertions(+)

--- a/drivers/staging/vc04_services/vc-sm-cma/vc_sm.c
+++ b/drivers/staging/vc04_services/vc-sm-cma/vc_sm.c
@@ -752,7 +752,9 @@ static int bcm2835_vc_sm_cma_remove(stru
 
 		/* Stop the videocore shared memory service. */
 		vc_sm_cma_vchi_stop(&sm_state->sm_handle);
+	}
 
+	if (sm_state) {
 		idr_destroy(&sm_state->kernelid_map);
 
 		/* Free the memory for the state structure. */