usb: gadget: uvc: refactor the check for a valid buffer in the pump worker
authorMichael Grzeschik <m.grzeschik@pengutronix.de>
Tue, 13 Feb 2024 23:28:01 +0000 (00:28 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 17 Feb 2024 16:08:30 +0000 (17:08 +0100)
By toggling the condition check for a valid buffer, the else path
can be completely avoided.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Link: https://lore.kernel.org/r/20240214-uvc-gadget-cleanup-v1-2-de6d78780459@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/function/uvc_video.c

index b17c61c9326529a728f1087729fbb7c1b9553471..b4f3b3c78421876971ccdc432b5e82904dc5308d 100644 (file)
@@ -594,10 +594,7 @@ static void uvcg_video_pump(struct work_struct *work)
                 */
                spin_lock_irqsave(&queue->irqlock, flags);
                buf = uvcg_queue_head(queue);
-
-               if (buf != NULL) {
-                       video->encode(req, video, buf);
-               } else {
+               if (!buf) {
                        /*
                         * Either the queue has been disconnected or no video buffer
                         * available for bulk transfer. Either way, stop processing
@@ -607,6 +604,8 @@ static void uvcg_video_pump(struct work_struct *work)
                        break;
                }
 
+               video->encode(req, video, buf);
+
                spin_unlock_irqrestore(&queue->irqlock, flags);
 
                spin_lock_irqsave(&video->req_lock, flags);