OSDN Git Service

usb: gadget: uvc: Simplify uvcg_video_pump by using local variable
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Tue, 16 Sep 2014 14:26:48 +0000 (17:26 +0300)
committerFelipe Balbi <balbi@ti.com>
Tue, 16 Sep 2014 14:59:54 +0000 (09:59 -0500)
Use the local queue variable instead of computing it every time.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/function/uvc_video.c

index b0528e8..c3e1f27 100644 (file)
@@ -309,10 +309,10 @@ int uvcg_video_pump(struct uvc_video *video)
                /* Retrieve the first available video buffer and fill the
                 * request, protected by the video queue irqlock.
                 */
-               spin_lock_irqsave(&video->queue.irqlock, flags);
-               buf = uvcg_queue_head(&video->queue);
+               spin_lock_irqsave(&queue->irqlock, flags);
+               buf = uvcg_queue_head(queue);
                if (buf == NULL) {
-                       spin_unlock_irqrestore(&video->queue.irqlock, flags);
+                       spin_unlock_irqrestore(&queue->irqlock, flags);
                        break;
                }
 
@@ -323,11 +323,11 @@ int uvcg_video_pump(struct uvc_video *video)
                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);
+                       spin_unlock_irqrestore(&queue->irqlock, flags);
                        uvcg_queue_cancel(queue, 0);
                        break;
                }
-               spin_unlock_irqrestore(&video->queue.irqlock, flags);
+               spin_unlock_irqrestore(&queue->irqlock, flags);
        }
 
        spin_lock_irqsave(&video->req_lock, flags);