On Fri Apr 17 05:19:28 2026 +0000, Ricardo Ribalda wrote:
> Do not re-implement uvc_queue_get_current_buffer() logic inside
> uvc_video_complete(), just call the function.
> 
> Reviewed-by: Laurent Pinchart <[email protected]>
> Signed-off-by: Ricardo Ribalda <[email protected]>
> Link: 
> https://patch.msgid.link/[email protected]
> Reviewed-by: Hans de Goede <[email protected]>
> Signed-off-by: Hans de Goede <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/usb/uvc/uvc_video.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

---

diff --git a/drivers/media/usb/uvc/uvc_video.c 
b/drivers/media/usb/uvc/uvc_video.c
index 62db4db4e565..a2ff73511d0e 100644
--- a/drivers/media/usb/uvc/uvc_video.c
+++ b/drivers/media/usb/uvc/uvc_video.c
@@ -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;
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to