瀏覽代碼

[media] s2255drv: fix for return code not checked

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>
Dean Anderson 11 年之前
父節點
當前提交
6a5b63b3cb
共有 1 個文件被更改,包括 10 次插入6 次删除
  1. 10 6
      drivers/media/usb/s2255/s2255drv.c

+ 10 - 6
drivers/media/usb/s2255/s2255drv.c

@@ -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)