usb: dwc3: gadget: Ignore EP queue requests during bus reset
authorWesley Cheng <wcheng@codeaurora.org>
Fri, 19 Mar 2021 09:31:25 +0000 (02:31 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 23 Mar 2021 12:01:11 +0000 (13:01 +0100)
commit71ca43f30df9c642970f9dc9b2d6f463f4967e7b
tree67abf9e67dbc2ec95ee83c781ad70b3bb06d77f7
parent02fa4b980245087a04ea34ae7541ebdc56a5daa4
usb: dwc3: gadget: Ignore EP queue requests during bus reset

The current dwc3_gadget_reset_interrupt() will stop any active
transfers, but only addresses blocking of EP queuing for while we are
coming from a disconnected scenario, i.e. after receiving the disconnect
event.  If the host decides to issue a bus reset on the device, the
connected parameter will still be set to true, allowing for EP queuing
to continue while we are disabling the functions.  To avoid this, set the
connected flag to false until the stop active transfers is complete.

Signed-off-by: Wesley Cheng <wcheng@codeaurora.org>
Link: https://lore.kernel.org/r/1616146285-19149-3-git-send-email-wcheng@codeaurora.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/gadget.c