Commit af05ef01 authored by Hans de Goede's avatar Hans de Goede Committed by Mauro Carvalho Chehab
Browse files

[media] gspca-core: Fix buffers staying in queued state after a stream_off



This fixes a regression introduced by commit f7059eaa and should be
backported to all supported stable kernels which have this commit.

Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Tested-by: default avatarAntonio Ospite <ospite@studenti.unina.it>
CC: stable@vger.kernel.org
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent cf3c1c31
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1653,7 +1653,7 @@ static int vidioc_streamoff(struct file *file, void *priv,
				enum v4l2_buf_type buf_type)
{
	struct gspca_dev *gspca_dev = video_drvdata(file);
	int ret;
	int i, ret;

	if (buf_type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
		return -EINVAL;
@@ -1678,6 +1678,8 @@ static int vidioc_streamoff(struct file *file, void *priv,
	wake_up_interruptible(&gspca_dev->wq);

	/* empty the transfer queues */
	for (i = 0; i < gspca_dev->nframes; i++)
		gspca_dev->frame[i].v4l2_buf.flags &= ~BUF_ALL_FLAGS;
	atomic_set(&gspca_dev->fr_q, 0);
	atomic_set(&gspca_dev->fr_i, 0);
	gspca_dev->fr_o = 0;