linux/drivers/usb/musb
Tony Lindgren 3c50ffef25 usb: musb: Fix trying to suspend while active for OTG configurations
Commit d8e5f0eca1 ("usb: musb: Fix hardirq-safe hardirq-unsafe
lock order error") caused a regression where musb keeps trying to
enable host mode with no cable connected. This seems to be caused
by the fact that now phy is enabled earlier, and we are wrongly
trying to force USB host mode on an OTG port. The errors we are
getting are "trying to suspend as a_idle while active".

For ports configured as OTG, we should not need to do anything
to try to force USB host mode on it's OTG port. Trying to force host
mode in this case just seems to completely confuse the musb state
machine.

Let's fix the issue by making musb_host_setup() attempt to force the
mode only if port_mode is configured for host mode.

Fixes: d8e5f0eca1 ("usb: musb: Fix hardirq-safe hardirq-unsafe lock order error")
Cc: Johan Hovold <johan@kernel.org>
Cc: stable <stable@vger.kernel.org>
Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reported-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-18 15:21:17 +02:00
..
am35x.c usb: musb: am35x: remove redundant code 2017-02-03 10:05:10 +01:00
blackfin.c usb: musb: blackfin: fix unused warnings on suspend/resume 2017-02-03 10:05:11 +01:00
blackfin.h
cppi_dma.c usb: musb: cppi_dma.c: use DIV_ROUND_UP macro in cppi_next_(r|t)x_segment() 2017-04-18 16:48:26 +02:00
cppi_dma.h usb: musb: cppi_dma: Clean up cppi structure 2017-02-09 13:35:05 +01:00
da8xx.c usb: musb: don't mark of_dev_auxdata as initdata 2017-04-26 11:30:02 +02:00
davinci.c usb: musb: davinci: remove redundant code 2017-02-03 10:05:10 +01:00
davinci.h
jz4740.c usb: musb: constify musb_hdrc_config structures 2017-01-25 10:52:43 +01:00
Kconfig usb: musb: Add support of CPPI 4.1 DMA controller to DA8xx 2017-04-18 16:48:26 +02:00
Makefile usb: musb: add tracepoints support for debugging 2016-07-17 08:23:57 +09:00
musb_am335x.c usb: musb: Fix panic upon musb_am335x module removal 2014-06-27 10:53:06 -05:00
musb_core.c usb: musb: Use shared irq 2017-04-18 16:48:26 +02:00
musb_core.h usb: musb: musb_cppi41: Workaround DMA stall issue during teardown 2017-04-18 16:48:26 +02:00
musb_cppi41.c usb: musb: musb_cppi41: Workaround DMA stall issue during teardown 2017-04-18 16:48:26 +02:00
musb_debug.h usb: musb: add tracepoints support for debugging 2016-07-17 08:23:57 +09:00
musb_debugfs.c usb: musb: debugfs: allow forcing host mode together with speed in testmode 2017-02-03 10:05:11 +01:00
musb_dma.h usb: musb: dma: Add a DMA completion platform callback 2017-02-09 13:35:05 +01:00
musb_dsps.c usb: musb: dsps: fix iounmap in error and exit paths 2017-03-14 17:13:14 +08:00
musb_gadget_ep0.c usb: musb: switch dev_dbg to tracepoints 2016-07-17 08:23:57 +09:00
musb_gadget.c Merge 4.9-rc7 into usb-next 2016-11-28 08:34:10 +01:00
musb_gadget.h usb: musb: add Kconfig options for HOST, GAGDET or DUAL_ROLE modes 2013-05-28 19:22:23 +03:00
musb_host.c usb: musb: Fix trying to suspend while active for OTG configurations 2017-05-18 15:21:17 +02:00
musb_host.h usb: musb: fix prototype for musb_port_reset 2013-12-20 15:05:43 -06:00
musb_io.h usb: musb: Make busctl_offset an io-op rather then a define 2015-05-26 10:46:54 -05:00
musb_regs.h usb: musb: Make busctl_offset an io-op rather then a define 2015-05-26 10:46:54 -05:00
musb_trace.c usb: musb: add tracepoints support for debugging 2016-07-17 08:23:57 +09:00
musb_trace.h usb: musb: cppi41: add dma channel tracepoints 2016-07-17 08:23:57 +09:00
musb_virthub.c USB: musb: remove obsolete resume-signalling comments 2016-11-21 17:35:36 +01:00
musbhsdma.c usb: musb: switch dev_dbg to tracepoints 2016-07-17 08:23:57 +09:00
musbhsdma.h usb: musb: Fix trying to free already-free IRQ 4 2017-01-05 19:18:05 +01:00
omap2430.c usb: musb: omap2430: constify dev_pm_ops structures 2017-02-03 10:05:11 +01:00
omap2430.h usb: start using the control module driver 2013-01-25 12:27:24 +02:00
sunxi.c usb: musb: sunxi: add support for the variant in H3/V3s SoC 2017-02-03 10:05:11 +01:00
tusb6010_omap.c usb: musb: tusb6010: Clean up tusb_omap_dma structure 2017-02-09 13:35:05 +01:00
tusb6010.c usb: musb: Fix PM for hub disconnect 2016-11-17 16:25:39 +01:00
tusb6010.h usb: musb: Fix up DMA related macros 2015-05-07 13:35:46 -05:00
ux500_dma.c usb: musb/ux500: remove duplicate check for dma_is_compatible 2016-03-04 15:14:30 +02:00
ux500.c usb: musb: constify musb_hdrc_config structures 2017-01-25 10:52:43 +01:00