mbox series

[0/3] usb: dwc3: gadget: improve abbort transfer abort by adding more conditions

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

Message

Michael Grzeschik March 7, 2024, 3:22 p.m. UTC
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,

Comments

Michael Grzeschik April 2, 2024, 9:45 p.m. UTC | #1
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