Merge "msm: camera: jpegdma: Added missing lock for dqbuf and streamon"

This commit is contained in:
Linux Build Service Account 2019-05-16 23:53:24 -07:00 committed by Gerrit - the friendly Code Review server
commit af0d3ed849

View file

@ -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
@ -891,8 +891,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;
}
/*
@ -907,13 +911,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;
}