usb: dwc3: Clear err_evt_seen flag on disconnect
Currently err_evt_seen flag is cleared only while clearing
run/stop. Consider a case where err_evt_seen flag is set and
controller is swtiching from peripheral mode to host mode.
Now, from dwc3_gadget_pullup driver will bail out since the
flag is set. Also since softconnect flag is not set run_stop
will not get cleared from vbus_session(0), leaving the err
evt_seen flag set. If any interrupt is generated then driver
will bail out from interrupt handler without processing the
interrupt, which can lead to irq storm. Fix this by clearing
the err_evt_seen flag in disconnect and also add a judgement
in pullup so that driver can proceed with clearing run/stop
if softconnect is cleared, even with the err_evt_seen flag is
set.
Change-Id: Ib7026dca8b4e76e943832419b19cef180ca96171
Signed-off-by:
Pratham Pratap <prathampratap@codeaurora.org>
Loading
Please register or sign in to comment