Loading drivers/media/platform/msm/camera_v2/jpeg_dma/msm_jpeg_dma_dev.c +11 −5 Original line number Diff line number Diff line /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2015-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 Loading Loading @@ -892,8 +892,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; } /* Loading @@ -908,13 +912,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 Loading
drivers/media/platform/msm/camera_v2/jpeg_dma/msm_jpeg_dma_dev.c +11 −5 Original line number Diff line number Diff line /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2015-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 Loading Loading @@ -892,8 +892,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; } /* Loading @@ -908,13 +912,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