Fix issue where the ID Float interrupt may occur during the 200ms
where state is set to USB_POWER, causing the state machine to get
into a bad state.
Change-Id: I99e7b5de84f4b091c5b6e4f3e522876561603b61
Signed-off-by: Greg Meiste <w30289@motorola.com>
} else if ((data->sense & SENSE_USB_HOST_MASK) == SENSE_USB_HOST) {
whisper_notify(data, CPCAP_ACCY_USB_HOST);
- cpcap_irq_unmask(data->cpcap, CPCAP_IRQ_IDFLOAT);
data->state = USB_POWER;
schedule_delayed_work(&data->work,
msecs_to_jiffies(200));
case USB_POWER:
gpio_set_value(data->pdata->pwr_gpio, 1);
data->state = CONFIG;
+ cpcap_irq_unmask(data->cpcap, CPCAP_IRQ_IDFLOAT);
break;
case WHISPER: