From 6854bcdc6ff92e3a9c24940a3c5ebb446950c974 Mon Sep 17 00:00:00 2001
From: Cyril Roelandt
Date: Fri, 1 Mar 2013 20:46:32 +0100
Subject: usb: gadget: uvc: Use GFP_ATOMIC under spin lock
Found using the following semantic patch:
@@
@@
spin_lock_irqsave(...);
... when != spin_unlock_irqrestore(...);
* GFP_KERNEL
Signed-off-by: Cyril Roelandt
Signed-off-by: Laurent Pinchart
Tested-by: Bhupesh Sharma
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/uvc_video.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'drivers/usb/gadget/uvc_video.c')
diff --git a/drivers/usb/gadget/uvc_video.c b/drivers/usb/gadget/uvc_video.c
index fac99a97b782..ec4bcc4a2290 100644
--- a/drivers/usb/gadget/uvc_video.c
+++ b/drivers/usb/gadget/uvc_video.c
@@ -314,7 +314,8 @@ uvc_video_pump(struct uvc_video *video)
video->encode(req, video, buf);
/* Queue the USB request */
- if ((ret = usb_ep_queue(video->ep, req, GFP_KERNEL)) < 0) {
+ ret = usb_ep_queue(video->ep, req, GFP_ATOMIC);
+ if (ret < 0) {
printk(KERN_INFO "Failed to queue request (%d)\n", ret);
usb_ep_set_halt(video->ep);
spin_unlock_irqrestore(&video->queue.irqlock, flags);
--
cgit v1.2.3-55-g7522