Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18bf99aa authored by Jean-François Moine's avatar Jean-François Moine Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB: gspca - main: Check the file doing stream on/off

parent 0b62b737
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -1590,6 +1590,12 @@ static int vidioc_streamon(struct file *file, void *priv,
	if (mutex_lock_interruptible(&gspca_dev->queue_lock))
		return -ERESTARTSYS;

	/* check the capture file */
	if (gspca_dev->capt_file != file) {
		ret = -EBUSY;
		goto out;
	}

	if (gspca_dev->nframes == 0
	    || !(gspca_dev->frame[0].v4l2_buf.flags & V4L2_BUF_FLAG_QUEUED)) {
		ret = -EINVAL;
@@ -1627,6 +1633,12 @@ static int vidioc_streamoff(struct file *file, void *priv,
	if (mutex_lock_interruptible(&gspca_dev->queue_lock))
		return -ERESTARTSYS;

	/* check the capture file */
	if (gspca_dev->capt_file != file) {
		ret = -EBUSY;
		goto out;
	}

	/* stop streaming */
	if (mutex_lock_interruptible(&gspca_dev->usb_lock)) {
		ret = -ERESTARTSYS;