summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/function/uvc_video.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2014-10-02 17:53:35 +0200
committerMark Brown <broonie@kernel.org>2014-10-02 17:53:35 +0200
commit04a0b8ef6b27c2b6280dcbfcdd418b7d851f8491 (patch)
tree062e082e19ab94a4ca7bc60286df970debdd2d6f /drivers/usb/gadget/function/uvc_video.c
parentASoC: simple-card: tidyup get dai_link/dai_props from priv (diff)
parentLinux 3.17-rc4 (diff)
downloadlinux-04a0b8ef6b27c2b6280dcbfcdd418b7d851f8491.tar.xz
linux-04a0b8ef6b27c2b6280dcbfcdd418b7d851f8491.zip
Merge tag 'v3.17-rc4' into asoc-simple
Linux 3.17-rc4
Diffstat (limited to 'drivers/usb/gadget/function/uvc_video.c')
-rw-r--r--drivers/usb/gadget/function/uvc_video.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/gadget/function/uvc_video.c b/drivers/usb/gadget/function/uvc_video.c
index 71e896d4c5ae..a5eb9a3fbb7a 100644
--- a/drivers/usb/gadget/function/uvc_video.c
+++ b/drivers/usb/gadget/function/uvc_video.c
@@ -195,6 +195,7 @@ uvc_video_complete(struct usb_ep *ep, struct usb_request *req)
printk(KERN_INFO "Failed to queue request (%d).\n", ret);
usb_ep_set_halt(ep);
spin_unlock_irqrestore(&video->queue.irqlock, flags);
+ uvc_queue_cancel(queue, 0);
goto requeue;
}
spin_unlock_irqrestore(&video->queue.irqlock, flags);
@@ -281,6 +282,7 @@ error:
static int
uvc_video_pump(struct uvc_video *video)
{
+ struct uvc_video_queue *queue = &video->queue;
struct usb_request *req;
struct uvc_buffer *buf;
unsigned long flags;
@@ -322,6 +324,7 @@ uvc_video_pump(struct uvc_video *video)
printk(KERN_INFO "Failed to queue request (%d)\n", ret);
usb_ep_set_halt(video->ep);
spin_unlock_irqrestore(&video->queue.irqlock, flags);
+ uvc_queue_cancel(queue, 0);
break;
}
spin_unlock_irqrestore(&video->queue.irqlock, flags);