+3
−0
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
When dwc3_gadget_pullup() is called to perform a device-initiated disconnect, the driver must ensure that no transfers are in progress before clearing the run/stop bit. However, in dwc3_gadget_pullup, before the dwc->lock is acquired, a race is possible in which a new ep0 transfer gets started and we receive another SETUP packet from the host before proceeding to take the lock. To fix this, simply don't allow a new ep0 transfer to start if dwc->softconnect is false;. Change-Id: Ie79c99bfa2b305ef44695d01b3f9395253aaf8f8 Signed-off-by:Jack Pham <jackp@codeaurora.org> Signed-off-by:
Ajay Agarwal <ajaya@codeaurora.org>