media: coda: fix macroblocks count control usage
Commit b2d3bef1aa78 ("media: coda: Add a V4L2 user for control error macroblocks count") add the control for the decoder devices. But during streamon() this ioctl gets called for all (encoder and decoder) devices and on encoder devices this causes a null pointer exception. Fix this by setting the control only if it is really accessible. Fixes: b2d3bef1aa78 ("media: coda: Add a V4L2 user for control error macroblocks count") Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Cc: <stable@vger.kernel.org> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
ac74672917
commit
0b276e470a
@ -2062,7 +2062,9 @@ static int coda_start_streaming(struct vb2_queue *q, unsigned int count)
|
||||
if (q_data_dst->fourcc == V4L2_PIX_FMT_JPEG)
|
||||
ctx->params.gop_size = 1;
|
||||
ctx->gopcounter = ctx->params.gop_size - 1;
|
||||
v4l2_ctrl_s_ctrl(ctx->mb_err_cnt_ctrl, 0);
|
||||
/* Only decoders have this control */
|
||||
if (ctx->mb_err_cnt_ctrl)
|
||||
v4l2_ctrl_s_ctrl(ctx->mb_err_cnt_ctrl, 0);
|
||||
|
||||
ret = ctx->ops->start_streaming(ctx);
|
||||
if (ctx->inst_type == CODA_INST_DECODER) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user