aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/coda/coda-bit.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/platform/coda/coda-bit.c')
-rw-r--r--drivers/media/platform/coda/coda-bit.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/media/platform/coda/coda-bit.c b/drivers/media/platform/coda/coda-bit.c
index 0f8dcea065af..ac4dcb1f446a 100644
--- a/drivers/media/platform/coda/coda-bit.c
+++ b/drivers/media/platform/coda/coda-bit.c
@@ -999,6 +999,7 @@ static int coda_start_encoding(struct coda_ctx *ctx)
999 ret = -EFAULT; 999 ret = -EFAULT;
1000 goto out; 1000 goto out;
1001 } 1001 }
1002 ctx->initialized = 1;
1002 1003
1003 if (dst_fourcc != V4L2_PIX_FMT_JPEG) { 1004 if (dst_fourcc != V4L2_PIX_FMT_JPEG) {
1004 if (dev->devtype->product == CODA_960) 1005 if (dev->devtype->product == CODA_960)
@@ -1329,6 +1330,9 @@ static void coda_seq_end_work(struct work_struct *work)
1329 mutex_lock(&ctx->buffer_mutex); 1330 mutex_lock(&ctx->buffer_mutex);
1330 mutex_lock(&dev->coda_mutex); 1331 mutex_lock(&dev->coda_mutex);
1331 1332
1333 if (ctx->initialized == 0)
1334 goto out;
1335
1332 v4l2_dbg(1, coda_debug, &dev->v4l2_dev, 1336 v4l2_dbg(1, coda_debug, &dev->v4l2_dev,
1333 "%d: %s: sent command 'SEQ_END' to coda\n", ctx->idx, 1337 "%d: %s: sent command 'SEQ_END' to coda\n", ctx->idx,
1334 __func__); 1338 __func__);
@@ -1342,6 +1346,9 @@ static void coda_seq_end_work(struct work_struct *work)
1342 1346
1343 coda_free_framebuffers(ctx); 1347 coda_free_framebuffers(ctx);
1344 1348
1349 ctx->initialized = 0;
1350
1351out:
1345 mutex_unlock(&dev->coda_mutex); 1352 mutex_unlock(&dev->coda_mutex);
1346 mutex_unlock(&ctx->buffer_mutex); 1353 mutex_unlock(&ctx->buffer_mutex);
1347} 1354}
@@ -1499,6 +1506,7 @@ static int __coda_start_decoding(struct coda_ctx *ctx)
1499 coda_write(dev, 0, CODA_REG_BIT_BIT_STREAM_PARAM); 1506 coda_write(dev, 0, CODA_REG_BIT_BIT_STREAM_PARAM);
1500 return -ETIMEDOUT; 1507 return -ETIMEDOUT;
1501 } 1508 }
1509 ctx->initialized = 1;
1502 1510
1503 /* Update kfifo out pointer from coda bitstream read pointer */ 1511 /* Update kfifo out pointer from coda bitstream read pointer */
1504 coda_kfifo_sync_from_device(ctx); 1512 coda_kfifo_sync_from_device(ctx);