summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/function/uvc_video.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2014-09-24 11:20:48 -0700
committerOlof Johansson <olof@lixom.net>2014-09-24 11:21:01 -0700
commit28fd837204236cf5b5533525e5b53c5176fa97a3 (patch)
treeac7dcad925950bc0bb53c5a55cb199e31e7aaee0 /drivers/usb/gadget/function/uvc_video.c
parentc82eb464879dd0ecbe0c4cb1b80ac4e82b634872 (diff)
parent64d14a31d5410ea34641c41795e0ba222bda740c (diff)
Merge tag 'imx-cleanup-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/cleanup
Merge "ARM: imx: cleanup for 3.18" from Shawn Guo: The i.MX cleanup for 3.18: - Reomve a few i.MX27 and i.MX1 board files - Remove imx_scu_standby_enable() since core code handles scu standby now - Remove unnecessary iomux declaration - Remove useless sound card property from vf610-twr dts * tag 'imx-cleanup-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx: Remove mach-mxt_td60 board file ARM: i.MX: Remove i.MX1 ADS board support ARM: dts: vf610-twr: remove useless property for sound card. ARM: imx: remove imx_scu_standby_enable() ARM: i.MX: Remove Phytec i.MX27 PCM038/PCM970 board files ARM: i.MX: Remove mach-cpuimx27sd board file ARM: imx: iomux: Do not export symbol without public declaration Signed-off-by: Olof Johansson <olof@lixom.net>
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 71e896d4c5a..a5eb9a3fbb7 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);