]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: uvcvideo: Do not open code uvc_queue_get_current_buffer
authorRicardo Ribalda <ribalda@chromium.org>
Fri, 17 Apr 2026 05:19:28 +0000 (05:19 +0000)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Thu, 21 May 2026 19:14:07 +0000 (21:14 +0200)
Do not re-implement uvc_queue_get_current_buffer() logic inside
uvc_video_complete(), just call the function.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Link: https://patch.msgid.link/20260417-uvc-meta-partial-v2-1-31d274af7d2d@chromium.org
Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/usb/uvc/uvc_video.c

index 62db4db4e565c37a8362c0cf983c02c7d328d546..a2ff73511d0eb6b4d09fb5fa7ed295a11a8d86aa 100644 (file)
@@ -1704,7 +1704,6 @@ static void uvc_video_complete(struct urb *urb)
        struct vb2_queue *vb2_qmeta = stream->meta.queue.vdev.queue;
        struct uvc_buffer *buf = NULL;
        struct uvc_buffer *buf_meta = NULL;
-       unsigned long flags;
        int ret;
 
        switch (urb->status) {
@@ -1730,13 +1729,8 @@ static void uvc_video_complete(struct urb *urb)
 
        buf = uvc_queue_get_current_buffer(queue);
 
-       if (vb2_qmeta) {
-               spin_lock_irqsave(&qmeta->irqlock, flags);
-               if (!list_empty(&qmeta->irqqueue))
-                       buf_meta = list_first_entry(&qmeta->irqqueue,
-                                                   struct uvc_buffer, queue);
-               spin_unlock_irqrestore(&qmeta->irqlock, flags);
-       }
+       if (vb2_qmeta)
+               buf_meta = uvc_queue_get_current_buffer(qmeta);
 
        /* Re-initialise the URB async work. */
        uvc_urb->async_operations = 0;