[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: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
11da6ed691
commit
cf2a320e1f
|
@ -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 = {
|
||||
|
|
Loading…
Reference in New Issue