usb: musb: core: Fix remote-wakeup resume
authorRoger Quadros <rogerq@ti.com>
Tue, 4 Feb 2014 13:29:33 +0000 (15:29 +0200)
committerFelipe Balbi <balbi@ti.com>
Tue, 18 Feb 2014 16:32:26 +0000 (10:32 -0600)
commit33f8d75f5771993ef16ed6bd56d7210f54226203
tree5b00defb25c73b993608528758489ef67a0ac6ea
parent3c4653c1f62ea5f1706084090a5a3bcf3402dc8f
usb: musb: core: Fix remote-wakeup resume

During resume don't touch SUSPENDM/RESUME bits of POWER register
while restoring controller context. These bits might be changed
by the controller during resume operation and so will be different
than what they were during suspend.

e.g. SUSPENDM bit is set by software during USB global suspend but
automatically cleared by the controller during remote wakeup or
during resume. Setting this bit back while restoring context
causes undesired behaviour. i.e. Babble interrupt is generated
and USB is broken.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/musb_core.c