usb: dwc3: gadget: Fix incorrect UDC state after manual deconfiguration
authorRoy Luo <royluo@google.com>
Mon, 23 Dec 2024 04:25:36 +0000 (04:25 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Dec 2024 07:56:05 +0000 (08:56 +0100)
commit1ff24d40b3c3c673d833c546f898133b80dffc39
treea39de2fce184ea5e47f7c8728cc5f721bd9e4363
parent997a6e146d5fdb9d92186a09e7ad6463679fe271
usb: dwc3: gadget: Fix incorrect UDC state after manual deconfiguration

The UDC state in sysfs (/sys/class/udc/<udc>/state) should accurately
reflect the current state of the USB Device Controller.

Currently, the UDC state is not handled consistently during gadget
disconnection. While the disconnect interrupt path correctly sets the
state to "not-attached", manual deconfiguration leaves the state in
"configured", misrepresenting the actual situation.

This commit ensures consistent UDC state handling by setting the state to
"not-attached" after manual deconfiguration. This accurately reflects the
UDC's state and provides a consistent behavior regardless of the
disconnection method.

Signed-off-by: Roy Luo <royluo@google.com>
Reviewed-by: André Draszik <andre.draszik@linaro.org>
Tested-by: André Draszik <andre.draszik@linaro.org>
Link: https://lore.kernel.org/r/20241223042536.1465299-1-royluo@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/gadget.c