FAILED: patch "[PATCH] usb: dwc3: gadget: fix high speed multiplier setting" failed to apply to 4.19-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.19-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]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 8affe37c525d800a2628c4ecfaed13b77dc5634a Mon Sep 17 00:00:00 2001
From: Michael Grzeschik <[email protected]>
Date: Mon, 4 Jul 2022 16:18:12 +0200
Subject: [PATCH] usb: dwc3: gadget: fix high speed multiplier setting
For High-Speed Transfers the prepare_one_trb function is calculating the multiplier setting for the trb based on the length parameter of the trb currently prepared. This assumption is wrong. For trbs with a sg list, the length of the actual request has to be taken instead.
drivers/usb/dwc3/gadget.c +2 -2
@@ -1265,10 +1265,10 @@ static void dwc3_prepare_one_trb(struct dwc3_ep *dep,unsigned int mult =2 ;unsigned int maxp =usb_endpoint_maxp (ep->desc); -if (trb_length <= (2 * maxp)) +if (req->request.length <= (2 * maxp)) mult--; -if (trb_length <= maxp) +if (req->request.length <= maxp) mult--; trb->size |=DWC3_TRB_SIZE_PCM1 (mult);