msm: camera: jpegdma: Added missing lock for dqbuf and streamon
Added missing lock to avoid race conditon for dqbuf and streamon CRs-Fixed: 2376566 Change-Id: I1c0ef9014914a9892c4d443600618c52d0aeebfa Signed-off-by: VijayaKumar T M <vtmuni@codeaurora.org>
This commit is contained in:
parent
3b5389da43
commit
2b43f489a3
1 changed files with 11 additions and 5 deletions
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2015-2017, 2019 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
|
@ -895,8 +895,12 @@ static int msm_jpegdma_dqbuf(struct file *file,
|
|||
void *fh, struct v4l2_buffer *buf)
|
||||
{
|
||||
struct jpegdma_ctx *ctx = msm_jpegdma_ctx_from_fh(fh);
|
||||
int ret;
|
||||
|
||||
return v4l2_m2m_dqbuf(file, ctx->m2m_ctx, buf);
|
||||
mutex_lock(&ctx->lock);
|
||||
ret = v4l2_m2m_dqbuf(file, ctx->m2m_ctx, buf);
|
||||
mutex_unlock(&ctx->lock);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -911,13 +915,15 @@ static int msm_jpegdma_streamon(struct file *file,
|
|||
struct jpegdma_ctx *ctx = msm_jpegdma_ctx_from_fh(fh);
|
||||
int ret;
|
||||
|
||||
if (!msm_jpegdma_config_ok(ctx))
|
||||
mutex_lock(&ctx->lock);
|
||||
if (!msm_jpegdma_config_ok(ctx)) {
|
||||
mutex_unlock(&ctx->lock);
|
||||
return -EINVAL;
|
||||
|
||||
}
|
||||
ret = v4l2_m2m_streamon(file, ctx->m2m_ctx, buf_type);
|
||||
if (ret < 0)
|
||||
dev_err(ctx->jdma_device->dev, "Stream on fail\n");
|
||||
|
||||
mutex_unlock(&ctx->lock);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue