video/et61x251: improve error handling
Subsystems (2)
PATCH 1/1 video/et61x251: improve error handling
The original code doesn't handle the situation where the controller is not found.
Signed-off-by Dan Carpenter <[email protected]>
drivers/media/video/et61x251/et61x251_core.c +4 -2
@@ -1713,7 +1713,7 @@ et61x251_vidioc_s_ctrl(struct et61x251_device* cam, void __user * arg)if (copy_from_user (&ctrl, arg,sizeof (ctrl)))return -EFAULT ; -for (i =0 ; i <ARRAY_SIZE (s->qctrl); i++) +for (i =0 ; i <ARRAY_SIZE (s->qctrl); i++) {if (ctrl.id = s->qctrl[i].id) {if (s->qctrl[i].flags &V4L2_CTRL_FLAG_DISABLED )return -EINVAL ;
@@ -1723,7 +1723,9 @@ et61x251_vidioc_s_ctrl(struct et61x251_device* cam, void __user * arg) ctrl.value -= ctrl.value % s->qctrl[i].step;break ; } - + } +if (i =ARRAY_SIZE (s->qctrl)) +return -EINVAL ;if ((err = s->set_ctrl (cam, &ctrl)))return err;
Hi,
this patch seems incomplet.
You had an opening { whitout the corresponding }.
Best regards,
Christophe Jaillet
"Dan Carpenter" <[email protected]> a �crit dans le message de news:20100328114945.GV5069@bicker...
Quoted 4 lines
The original code doesn't handle the situation where the controller is not found.
Signed-off-by Dan Carpenter
Review
Quoted 2 lines
(quoted diff) +0
-0
b/drivers/media/video/et61x251/et61x251_core.c
drivers/media/video/et61x251/et61x251_core.c et61x251_vidioc_s_ctrl(struct et61x251_device* cam,
Quoted 4 lines
index e6c23d5..a5cfc76 100644
drivers/media/video/et61x251/et61x251_core.c +0
-0@@ -1713,7 +1713,7 @@ et61x251_vidioc_s_ctrl(struct et61x251_device* cam,
void __user * arg)
drivers/media/video/et61x251/et61x251_core.c et61x251_vidioc_s_ctrl(struct et61x251_device* cam,
Quoted 9 lines
drivers/media/video/et61x251/et61x251_core.c +1
-1if (copy_from_user (&ctrl, arg,sizeof (ctrl)))return -EFAULT ; -for (i =0 ; i <ARRAY_SIZE (s->qctrl); i++) +for (i =0 ; i <ARRAY_SIZE (s->qctrl); i++) {if (ctrl.id == s->qctrl[i].id) {if (s->qctrl[i].flags &V4L2_CTRL_FLAG_DISABLED )return -EINVAL ;@@ -1723,7 +1723,9 @@ et61x251_vidioc_s_ctrl(struct et61x251_device* cam,
void __user * arg)
Quoted 3 lines
drivers/media/video/et61x251/et61x251_core.c +0
-0ctrl.value -= ctrl.value % s->qctrl[i].step;break ; }