mirror of
https://github.com/torvalds/linux.git
synced 2026-06-10 07:32:29 +02:00
gspca-core: Fix buffers staying in queued state after a stream_off
commitaf05ef01e9upstream. [Backport to linux-stable by Antonio Ospite <ospite@studenti.unina.it>] This fixes a regression introduced by commitf7059eaand should be backported to all supported stable kernels which have this commit. Signed-off-by: Antonio Ospite <ospite@studenti.unina.it> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Tested-by: Antonio Ospite <ospite@studenti.unina.it> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
445006de7c
commit
c412589f74
|
|
@ -1723,7 +1723,7 @@ static int vidioc_streamoff(struct file *file, void *priv,
|
|||
enum v4l2_buf_type buf_type)
|
||||
{
|
||||
struct gspca_dev *gspca_dev = priv;
|
||||
int ret;
|
||||
int i, ret;
|
||||
|
||||
if (buf_type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
|
||||
return -EINVAL;
|
||||
|
|
@ -1754,6 +1754,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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user