From: Lucas Stach Date: Fri, 17 Nov 2017 16:59:26 +0000 (+0100) Subject: drm/etnaviv: hold GPU lock while inserting END command X-Git-Tag: v4.16-rc1~31^2~18^2~17 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=40c27bdeb00ba234d5062b7c51467a9a51c4606c;p=uclinux-h8%2Flinux.git drm/etnaviv: hold GPU lock while inserting END command Inserting the END command when suspending the GPU is changing the command buffer state, which requires the GPU to be held. Signed-off-by: Lucas Stach Reviewed-by: Philipp Zabel Reviewed-by: Christian Gmeiner --- diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c index 6176704bdae3..c4f518d56ead 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c @@ -1631,7 +1631,9 @@ static int etnaviv_gpu_hw_suspend(struct etnaviv_gpu *gpu) { if (gpu->buffer) { /* Replace the last WAIT with END */ + mutex_lock(&gpu->lock); etnaviv_buffer_end(gpu); + mutex_unlock(&gpu->lock); /* * We know that only the FE is busy here, this should