From: Kamil Debski Date: Fri, 11 Jan 2013 14:29:34 +0000 (-0300) Subject: [media] s5p-mfc: end-of-stream handling in encoder bug fix X-Git-Tag: firefly_0821_release~3680^2~275^2~118 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=eb36209297b7aadbd3144c74cb79d35704c3086e;p=firefly-linux-kernel-4.4.55.git [media] s5p-mfc: end-of-stream handling in encoder bug fix In some circumstances after issuing the V4L2_ENC_CMD_STOP the application could freeze. This patch prevents this behavior. Signed-off-by: Kamil Debski Signed-off-by: Kyungmin Park Signed-off-by: Sylwester Nawrocki Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c index f92f6ddd739f..2356fd52a169 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c @@ -1534,6 +1534,8 @@ int vidioc_encoder_cmd(struct file *file, void *priv, if (list_empty(&ctx->src_queue)) { mfc_debug(2, "EOS: empty src queue, entering finishing state"); ctx->state = MFCINST_FINISHING; + if (s5p_mfc_ctx_ready(ctx)) + set_work_bit_irqsave(ctx); spin_unlock_irqrestore(&dev->irqlock, flags); s5p_mfc_hw_call(dev->mfc_ops, try_run, dev); } else {