mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
V4L/DVB (12002): uvc: Fix for no return value check of uvc_ctrl_set() which calls mutex_lock_interruptible()
Fix for no return value check of uvc_ctrl_set() which calls mutex_lock_interruptible(). Signed-off-by: Robert Krakora <rob.krakora@messagenetsystems.com> Acked-by: Laurent Pinchart <laurent.pinchart@skynet.be> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
6762d953a3
commit
1fcbcc47d3
1 changed files with 12 additions and 3 deletions
|
@ -530,7 +530,10 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)
|
|||
memset(&xctrl, 0, sizeof xctrl);
|
||||
xctrl.id = ctrl->id;
|
||||
|
||||
uvc_ctrl_begin(video);
|
||||
ret = uvc_ctrl_begin(video);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = uvc_ctrl_get(video, &xctrl);
|
||||
uvc_ctrl_rollback(video);
|
||||
if (ret >= 0)
|
||||
|
@ -547,7 +550,10 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)
|
|||
xctrl.id = ctrl->id;
|
||||
xctrl.value = ctrl->value;
|
||||
|
||||
uvc_ctrl_begin(video);
|
||||
ret = uvc_ctrl_begin(video);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = uvc_ctrl_set(video, &xctrl);
|
||||
if (ret < 0) {
|
||||
uvc_ctrl_rollback(video);
|
||||
|
@ -566,7 +572,10 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)
|
|||
struct v4l2_ext_control *ctrl = ctrls->controls;
|
||||
unsigned int i;
|
||||
|
||||
uvc_ctrl_begin(video);
|
||||
ret = uvc_ctrl_begin(video);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
for (i = 0; i < ctrls->count; ++ctrl, ++i) {
|
||||
ret = uvc_ctrl_get(video, ctrl);
|
||||
if (ret < 0) {
|
||||
|
|
Loading…
Reference in a new issue