Message ID | 20240307-dwc3-gadget-complete-irq-v1-0-4fe9ac0ba2b7@pengutronix.de (mailing list archive) |
---|---|
Headers | show |
Series | usb: dwc3: gadget: improve abbort transfer abort by adding more conditions | expand |
On Thu, Mar 07, 2024 at 04:22:02PM +0100, Michael Grzeschik wrote: >The dwc3 gadget driver is correctly checking the prepare and started >request lists for potential underruns and will stop the running transfer >in that case. However it is possible that the running pipeline will lead >into more underrun scenarios, which can be avoided and be detected. This >series is adding the corresponding code to ensure that an underrun >transfer will be handled properly. > >Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> >--- >Michael Grzeschik (3): > usb: dwc3: gadget: reclaim the whole started list when request was missed > usb: dwc3: gadget: check drained isoc ep > usb: dwc3: gadget: check the whole started queue for missed requests in complete > > drivers/usb/dwc3/gadget.c | 38 ++++++++++++++++++++++++++++++++++++-- > 1 file changed, 36 insertions(+), 2 deletions(-) >--- >base-commit: dfea18989aa7beb42c2cb6344fe8787de35d9471 >change-id: 20240307-dwc3-gadget-complete-irq-1a8ffa347fd1 > >Best regards, Since it is not right to fully stop the ep after one missed transfer was detected, this series is not correct anymore. We solve the overall issue in the upper layer now. Besides the patch "usb: dwc3: gadget: check drained isoc ep" is not completely wrong, I will resend that one in another veriant. mgr
The dwc3 gadget driver is correctly checking the prepare and started request lists for potential underruns and will stop the running transfer in that case. However it is possible that the running pipeline will lead into more underrun scenarios, which can be avoided and be detected. This series is adding the corresponding code to ensure that an underrun transfer will be handled properly. Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> --- Michael Grzeschik (3): usb: dwc3: gadget: reclaim the whole started list when request was missed usb: dwc3: gadget: check drained isoc ep usb: dwc3: gadget: check the whole started queue for missed requests in complete drivers/usb/dwc3/gadget.c | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) --- base-commit: dfea18989aa7beb42c2cb6344fe8787de35d9471 change-id: 20240307-dwc3-gadget-complete-irq-1a8ffa347fd1 Best regards,