Hi, Thinh Nguyen writes: > The START_TRANSFER command needs to be executed while in ON/U0 link > state (with an exception during register initialization). Don't use > dwc->link_state to check this since the driver only tracks the link > state when the link state change interrupt is enabled. Check the link > state from DSTS register instead. > > Note that often the host already brings the device out of low power > before it sends/requests the next transfer. So, the user won't see any > issue when the device starts transfer then. This issue is more > noticeable in cases when the device delays starting transfer, which can > happen during delayed control status after the host put the device in > low power. > > Cc: > Fixes: 799e9dc82968 ("usb: dwc3: gadget: conditionally disable Link State change events") > Signed-off-by: Thinh Nguyen Acked-by: Felipe Balbi -- balbi