usb: otg: twl4030-usb: ignore duplicate events
authorGrazvydas Ignotas <notasas@gmail.com>
Mon, 25 Feb 2013 01:39:58 +0000 (03:39 +0200)
committerGrazvydas Ignotas <notasas@gmail.com>
Tue, 12 Mar 2013 21:45:53 +0000 (23:45 +0200)
commitd100244a134a370a494ff211af0fbc838a410967
tree92fe66169d6ca647ae147db8d5537fed36e2ccf0
parent19c0628debcf26100d09242dc686436035b4a140
usb: otg: twl4030-usb: ignore duplicate events

In some rare cases we may get multiple interrupts that will generate
duplicate events. This is a problem because each VBUS/ID event generates
runtime_pm call in OMAP glue code, causing unbalanced gets or puts
and breaking PM. Also twl4030_usb_linkstat() may break OTG state
machine by overriding back to old state after state has already
progressed from previous event, so we must ignore dupes.
The same goes for initial state obtained in init too.
drivers/usb/otg/twl4030-usb.c