Files
u-boot-krane/drivers/usb
Mattijs Korpershoek 1c758ce38c usb: gadget: f_mass_storage: Disable eps during disconnect
When trying two ums commands in a row, the second one no longer
enumerates properly from the host.

This happens since commit
59310d1ecb ("usb: gadget: introduce 'enabled' flag in struct usb_ep")
causing usb_ep_enable() to return early when ep->enabled is already set.

Gadget function drivers (such as f_fastboot or f_mass_storage) implement
a disable() function which is called whenever we are done using the
gadget.

Because f_mass_storage driver does not disable the endpoints,
ep->enabled will never be set to false again.

This can be reproduced on the STM32MP157C-DK2 or the Khadas VIM3 boards.

Add calls to usb_ep_disable() as done in linux [1] to fix this.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9fff139aeb11186fd8e75860c959c86cb43ab2f6

Fixes: 59310d1ecb ("usb: gadget: introduce 'enabled' flag in struct usb_ep")
Reported-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Link: https://patch.msgid.link/20260617-ums-disconnect-v2-1-6e52d9de1d36@kernel.org
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2026-06-26 11:05:21 +02:00
..
2026-06-25 14:58:13 -06:00
2026-06-25 14:58:13 -06:00
2026-06-25 14:58:13 -06:00
2026-06-25 14:58:13 -06:00