USB: dwc3_otg: Serialize processing of external events to OTG

Some hardware may support very short or no debounce time to
report USB cable connect events. Using a bad cable or inserting
the cable very slowly can result in OTG events getting fired
rapidly. Existing design may result in processing of events
in parallel or out of order during such scenarios under stress
testing. Fix this in OTG driver by making sure that it starts
processing of a new event only after it is done with previous one.
Also, change dwc3-msm driver to always use workqueue when reporting
external events to OTG.

Change-Id: I309ac51f432731229024b9bf85b3d2f2bf8f8d7f
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
2 files changed