diff mbox

drm/etnaviv: fix missing unlock on error in etnaviv_gpu_submit()

Message ID 20170412003116.30767-1-weiyj.lk@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Wei Yongjun April 12, 2017, 12:31 a.m. UTC
From: Wei Yongjun <weiyongjun1@huawei.com>

Add the missing unlock before return from function etnaviv_gpu_submit()
in the error handling case.

Fixes: f3cd1b064f11 ("drm/etnaviv: (re-)protect fence allocation with
GPU mutex")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
---
 drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Lucas Stach April 12, 2017, 9:53 a.m. UTC | #1
Am Mittwoch, den 12.04.2017, 00:31 +0000 schrieb Wei Yongjun:
> From: Wei Yongjun <weiyongjun1@huawei.com>
> 
> Add the missing unlock before return from function etnaviv_gpu_submit()
> in the error handling case.
> 
> Fixes: f3cd1b064f11 ("drm/etnaviv: (re-)protect fence allocation with
> GPU mutex")
> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
> ---
>  drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> index da48819..e4a4d4c 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> @@ -1317,7 +1317,7 @@ int etnaviv_gpu_submit(struct etnaviv_gpu *gpu,
>  	if (!fence) {
>  		event_free(gpu, event);
>  		ret = -ENOMEM;
> -		goto out_pm_put;
> +		goto out_unlok;

Label should probably be named "out_unlock". Fixed up while applying,
thanks.

Regards,
Lucas

>  	}
>  
>  	gpu->event[event].fence = fence;
> @@ -1357,6 +1357,7 @@ int etnaviv_gpu_submit(struct etnaviv_gpu *gpu,
>  	hangcheck_timer_reset(gpu);
>  	ret = 0;
>  
> +out_unlok:
>  	mutex_unlock(&gpu->lock);
>  
>  out_pm_put:
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index da48819..e4a4d4c 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -1317,7 +1317,7 @@  int etnaviv_gpu_submit(struct etnaviv_gpu *gpu,
 	if (!fence) {
 		event_free(gpu, event);
 		ret = -ENOMEM;
-		goto out_pm_put;
+		goto out_unlok;
 	}
 
 	gpu->event[event].fence = fence;
@@ -1357,6 +1357,7 @@  int etnaviv_gpu_submit(struct etnaviv_gpu *gpu,
 	hangcheck_timer_reset(gpu);
 	ret = 0;
 
+out_unlok:
 	mutex_unlock(&gpu->lock);
 
 out_pm_put: