upstream: [media] s2255drv: fix for return code not checked
authorDean Anderson <linux-dev@sensoray.com>
Wed, 5 Feb 2014 18:58:20 +0000 (15:58 -0300)
committerChanho Park <chanho61.park@samsung.com>
Tue, 18 Nov 2014 02:54:44 +0000 (11:54 +0900)
Start acquisition return code was not being checked.  Return error
if start acquisition fails.

Signed-off-by: Dean Anderson <linux-dev@sensoray.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/usb/s2255/s2255drv.c

index 4c483ad..787b591 100644 (file)
@@ -1230,12 +1230,16 @@ static int vidioc_streamon(struct file *file, void *priv, enum v4l2_buf_type i)
                vc->buffer.frame[j].cur_size = 0;
        }
        res = videobuf_streamon(&fh->vb_vidq);
-       if (res == 0) {
-               s2255_start_acquire(vc);
-               vc->b_acquire = 1;
-       } else
+       if (res != 0) {
                res_free(fh);
-
+               return res;
+       }
+       res = s2255_start_acquire(vc);
+       if (res != 0) {
+               res_free(fh);
+               return res;
+       }
+       vc->b_acquire = 1;
        return res;
 }
 
@@ -2373,7 +2377,7 @@ static int s2255_start_acquire(struct s2255_vc *vc)
 
        dprintk(dev, 2, "start acquire exit[%d] %d\n", vc->idx, res);
        mutex_unlock(&dev->cmdlock);
-       return 0;
+       return res;
 }
 
 static int s2255_stop_acquire(struct s2255_vc *vc)