linux-kernel-test/drivers/usb/musb
Kevin Hilman 5d193ce8f1 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>
2011-11-29 23:19:03 +09:00
..
am35x.c usb: musb: fix compilation breakage introduced by de47725 2011-11-14 11:51:32 -08:00
blackfin.c usb: musb: blackfin: include prefetch head file 2011-08-12 11:52:51 +03:00
blackfin.h usb: musb: drop a gigantic amount of ifdeferry 2011-07-01 14:31:10 -07:00
cppi_dma.c usb: musb: cppi: fix build errors due to DBG and missing musb variable 2011-08-12 11:52:47 +03:00
cppi_dma.h
da8xx.c usb: musb: fix compilation breakage introduced by de47725 2011-11-14 11:51:32 -08:00
davinci.c ARM: gpio: davinci: convert drivers to use asm/gpio.h rather than mach/gpio.h 2011-08-08 14:27:55 +01:00
davinci.h
Kconfig usb: musb: hdrc: fix dependency on USB_GADGET_DUALSPEED in Kconfig 2011-11-14 11:51:18 -08:00
Makefile usb: musb: drop a gigantic amount of ifdeferry 2011-07-01 14:31:10 -07:00
musb_core.c usb: musb: PM: fix context save/restore in suspend/resume path 2011-11-29 23:19:03 +09:00
musb_core.h usb: musb: tusb6010: fix compilation 2011-08-12 11:52:50 +03:00
musb_debug.h usb: musb: drop unneeded musb_debug trickery 2011-05-13 14:34:04 +03:00
musb_debugfs.c musb_debugfs.c: remove unneeded includes on ARM 2011-09-26 10:08:31 -04:00
musb_dma.h
musb_gadget_ep0.c musb_gadget: Fix for spurious interrupts on endpoint zero. 2011-09-09 15:58:02 -07:00
musb_gadget.c usb: musb: gadget: don't call ->disconnect() on exit 2011-11-14 11:51:16 -08:00
musb_gadget.h usb: musb: gadget: do not poke with gadget's list_head 2011-02-17 21:11:46 +02:00
musb_host.c USB: use usb_endpoint_maxp() instead of le16_to_cpu() 2011-08-23 09:47:40 -07:00
musb_host.h usb: musb: drop a gigantic amount of ifdeferry 2011-07-01 14:31:10 -07:00
musb_io.h
musb_regs.h usb: musb: tusb6010: fix compilation 2011-08-12 11:52:50 +03:00
musb_virthub.c usb: musb: drop a gigantic amount of ifdeferry 2011-07-01 14:31:10 -07:00
musbhsdma.c USB: irq: Remove IRQF_DISABLED 2011-09-18 01:39:36 -07:00
musbhsdma.h
omap2430.c usb: musb: drop a gigantic amount of ifdeferry 2011-07-01 14:31:10 -07:00
omap2430.h
tusb6010_omap.c usb: musb: tusb6010: fix compilation 2011-08-12 11:52:50 +03:00
tusb6010.c usb: musb: tusb6010: fix compilation 2011-08-12 11:52:50 +03:00
tusb6010.h
ux500_dma.c usb: musb: ux500: replace missing DBG with dev_dbg 2011-08-12 11:52:46 +03:00
ux500.c usb: musb: ux500: copy dma mask from platform device to musb device 2011-04-13 11:50:57 +03:00