]> git.baikalelectronics.ru Git - kernel.git/commit
usb: musb: PM: fix context save/restore in suspend/resume path
authorKevin Hilman <khilman@ti.com>
Wed, 23 Nov 2011 01:18:24 +0000 (17:18 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 29 Nov 2011 14:19:03 +0000 (23:19 +0900)
commitf8aa63f66111ba4303ef4cbf3d273d2932ea81a7
tree88062b23747c99a753aca4c77aaf356bf1d18aeb
parentce78789d6505f1f65c3522a4d6792f0f71a55874
usb: musb: PM: fix context save/restore in suspend/resume path

Currently the driver tries to save context in the suspend path, but
will cause an abort if the device is already runtime suspended.  This
happens, for example, if MUSB loaded/compiled-in, in host mode, but no
USB devices are attached.  MUSB will be runtime suspended, but then
attempting a system suspend will crash due to the context save
being attempted while the device is disabled.

On OMAP, as of v3.1, the driver's ->runtime_suspend() callback will be
called late in the suspend path (by the PM domain layer) if the driver
is not already runtime suspended, ensuring a full shutdown.

Therefore, the context save is not needed in the ->suspend() method
since it will be called in the ->runtime_suspend() method anyways
(similarily for resume.)

NOTE: this leaves the suspend/resume methods basically empty (with
      some FIXMEs and comments, but I'll leave it to the maintainers
      to decide whether to remove them.

Cc: stable@vger.kernel.org
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/musb/musb_core.c