Skip to contentSkip to conversation

FAILED: patch "[PATCH] usb: gadget: uvc: fix dropped frame after missed isoc" failed to apply to 5.15-stable tree

PATCH [email protected] 1 participant 1 message Oct 31, 2022

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 5.15-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Possible dependencies:

8e8e923a4996 ("usb: gadget: uvc: fix dropped frame after missed isoc") 96163f835e65 ("usb: gadget: uvc: fix list double add in uvcg_video_pump")

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 8e8e923a49967b798e7d69f1ce9eff1dd2533547 Mon Sep 17 00:00:00 2001
From: Dan Vacura <[email protected]>
Date: Tue, 18 Oct 2022 16:50:37 -0500
Subject: [PATCH] usb: gadget: uvc: fix dropped frame after missed isoc

With the re-use of the previous completion status in 0d1c407b1a749 ("usb: dwc3: gadget: Return proper request status") it could be possible that the next frame would also get dropped if the current frame has a missed isoc error. Ensure that an interrupt is requested for the start of a new frame.

Fixes fc78941d8169 ("usb: gadget: uvc: decrease the interrupt load to a quarter")
drivers/usb/gadget/function/uvc_video.c +2 -1
index bb037fcc90e6..323977716f5a 100644
@@ -431,7 +431,8 @@ static void uvcg_video_pump(struct work_struct *work)
 
 		/* Endpoint now owns the request */
 		req = NULL;
-		video->req_int_count++;
+		if (buf->state != UVC_BUF_STATE_DONE)
+			video->req_int_count++;
 	}
 
 	if (!req)