From 407c4c300b26703e6ee60b142a4180bcc51765a8 Mon Sep 17 00:00:00 2001 From: Rahul Sharma Date: Wed, 2 Aug 2017 10:17:42 +0530 Subject: [PATCH] msm: ais: Make use of mutex lock to avoid race condition Make use of mutex lock to access IOCTL so that two threads can avoid race condition. Change-Id: I3650affa0577b30531160e1d11c57d13baf34c2f CRs-Fixed: 2060377 Signed-off-by: Rahul Sharma --- drivers/media/platform/msm/ais/fd/msm_fd_dev.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/msm/ais/fd/msm_fd_dev.c b/drivers/media/platform/msm/ais/fd/msm_fd_dev.c index 420083f019cf..4024748e6afa 100644 --- a/drivers/media/platform/msm/ais/fd/msm_fd_dev.c +++ b/drivers/media/platform/msm/ais/fd/msm_fd_dev.c @@ -1053,14 +1053,18 @@ static int msm_fd_s_ctrl(struct file *file, void *fh, struct v4l2_control *a) a->value = ctx->format.size->work_size; break; case V4L2_CID_FD_WORK_MEMORY_FD: + mutex_lock(&ctx->fd_device->recovery_lock); if (ctx->work_buf.fd != -1) msm_fd_hw_unmap_buffer(&ctx->work_buf); if (a->value >= 0) { ret = msm_fd_hw_map_buffer(&ctx->mem_pool, a->value, &ctx->work_buf); - if (ret < 0) + if (ret < 0) { + mutex_unlock(&ctx->fd_device->recovery_lock); return ret; + } } + mutex_unlock(&ctx->fd_device->recovery_lock); break; default: return -EINVAL;