u-boot/drivers/usb
Artur Rojek bc8e94c902 usb: gadget: atmel: fix transfer of queued requests
In the existing implementation, multiple requests queued up on an
endpoint are subject to getting evicted without transmission.

For both control and bulk endpoints, their respective logic found in
usba_control_irq()/usba_ep_irq() guarantees that TX FIFO is empty before
data is sent out, and that request_complete() gets called once the
transaction has been finished. At this point however, if any additional
requests are found on the endpoint queue, they will be processed by
submit_next_request(), which makes no checks against the above
conditions, trashing data on a busy FIFO and neglecting completion
handlers.

Fix the above issues by removing the calls to submit_next_request(),
and thus forcing the pending requests to be processed on the next pass
of the respective endpoint logic. While at it, remove a DBG message, as
that branch becomes part of regular flow.

This restores mass storage mode operation on Microchip ATSAMA5D27 SoC.

Signed-off-by: Artur Rojek <artur@conclusive.pl>
2023-10-13 13:42:10 +02:00
..
cdns3 common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
common common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
dwc3 Merge branch 'next' 2023-10-02 10:55:44 -04:00
emul sandbox: fix sandbox_hub_submit_control_msg() 2023-04-28 11:30:17 -06:00
eth common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
gadget usb: gadget: atmel: fix transfer of queued requests 2023-10-13 13:42:10 +02:00
host common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
isp1760 usb: add isp1760 family driver 2022-07-12 21:59:54 +02:00
mtu3 usb: mtu3: flush cache for the first GPD when allocate GPD ring 2021-11-03 08:47:57 +01:00
musb usb: musb: Rename CONFIG_USB_MUSB_TIMEOUT to MUSB_TIMEOUT 2023-01-20 12:27:06 -05:00
musb-new common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
phy rockchip: usb: phy: add rk3066/rk3188 support 2022-06-29 11:28:15 +08:00
ulpi global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
Kconfig usb: Move SPL_USB_STORAGE Kconfig symbol to drivers/usb/ 2023-05-17 01:51:39 +02:00