usb: gadget: gsi: Decrement USB gadget pm usage count on cable disconnect

Currently USB GSI function driver increments USB gadget device's
pm usage count on set_alt() and decrements on USB bus suspend or
USB cable disconnect case. Current code is not decrementing this
usage count when sm_state is STATE_INITIALIZED and USB cable is
disconnected (i.e. event EVT_DISCONNECTED posted). Fix this issue
by decrementing USB gadget device's pm usage count by addding check
for event EVT_DISCONNECTED when sm_state is STATE_INITIALIZED.

CRs-Fixed: 1003242
Change-Id: I4d6c9ce254f4c4139313dfd33da6c8745f34a1d3
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This commit is contained in:
Mayank Rana 2016-05-11 18:26:35 -07:00 committed by Jeevan Shriram
parent e02de095f4
commit 1b30680459

View file

@ -568,6 +568,11 @@ static void ipa_work_handler(struct work_struct *w)
d_port->sm_state = STATE_CONNECTED;
log_event_dbg("%s: ST_INIT_EVT_HOST_READY",
__func__);
} else if (event == EVT_DISCONNECTED) {
usb_gadget_autopm_put_async(d_port->gadget);
log_event_dbg("%s: ST_INIT_EVT_DISC", __func__);
log_event_dbg("%s: put_async1 = %d", __func__,
atomic_read(&gad_dev->power.usage_count));
}
break;
case STATE_CONNECT_IN_PROGRESS: