USB: gadget: diag: cleanup connect event processing

USB connect event is notified to DIAG in process context.  The
process context is achieved by scheduling a work in connect
interrupt.  But the disconnect event is notified from disconnect
interrupt context.  This is leading to synchronization problems
during fast cable connect and disconnect scenarios.

Notify the connect event from interrupt context.  Updating
product and serial number for every cable connect is redundant.
Move this to bind time and remove config work completely.

CRs-Fixed: 475955
Change-Id: I9d6685f64e0348a63dd88ea36297198ca1fd4596
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
diag: Defer usb connect/disconnect processing

USB diag driver will be moving connect/disconnect
event notification from process context to interrupt
context. In order to incorporate that, defer usb
connect/disconnect processing in workqueue context.

CRs-Fixed: 475955
Change-Id: I72f9b5330ac81c78a112212d6bedbe27ddd274cb
Signed-off-by: Mohit Aggarwal <maggarwa@codeaurora.org>
Merge "USB: gadget: diag: cleanup connect event processing"
Merge "diag: Defer usb connect/disconnect processing"