Commit cf2a320e authored by Antti Palosaari's avatar Antti Palosaari Committed by Mauro Carvalho Chehab

[media] msi3101: check I/O return values on stop streaming

Coverity CID 1196496: Unchecked return value (CHECKED_RETURN)

Calling "msi3101_ctrl_msg" without checking return value (as is done
elsewhere 8 out of 10 times).

Reported-by: <scan-admin@coverity.com>
Signed-off-by: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 11da6ed6
......@@ -1077,6 +1077,7 @@ static int msi3101_start_streaming(struct vb2_queue *vq, unsigned int count)
static int msi3101_stop_streaming(struct vb2_queue *vq)
{
struct msi3101_state *s = vb2_get_drv_priv(vq);
int ret;
dev_dbg(&s->udev->dev, "%s:\n", __func__);
if (mutex_lock_interruptible(&s->v4l2_lock))
......@@ -1089,17 +1090,22 @@ static int msi3101_stop_streaming(struct vb2_queue *vq)
/* according to tests, at least 700us delay is required */
msleep(20);
msi3101_ctrl_msg(s, CMD_STOP_STREAMING, 0);
ret = msi3101_ctrl_msg(s, CMD_STOP_STREAMING, 0);
if (ret)
goto err_sleep_tuner;
/* sleep USB IF / ADC */
msi3101_ctrl_msg(s, CMD_WREG, 0x01000003);
ret = msi3101_ctrl_msg(s, CMD_WREG, 0x01000003);
if (ret)
goto err_sleep_tuner;
err_sleep_tuner:
/* sleep tuner */
v4l2_subdev_call(s->v4l2_subdev, core, s_power, 0);
ret = v4l2_subdev_call(s->v4l2_subdev, core, s_power, 0);
mutex_unlock(&s->v4l2_lock);
return 0;
return ret;
}
static struct vb2_ops msi3101_vb2_ops = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment