linux/drivers/usb/dwc2
John Stultz 866932e277 usb: dwc2: Avoid suspending if we're in gadget mode
I've found when booting HiKey with the usb gadget cable attached
if I then try to connect via adb, I get an infinite spew of:

dwc2 f72c0000.usb: dwc2_hsotg_ep_sethalt(ep ffffffc0790ecb18 ep1out, 0)
dwc2 f72c0000.usb: dwc2_hsotg_ep_sethalt(ep ffffffc0790eca18 ep1in, 0)

It seems that the usb autosuspend is suspending the bus shortly
after bootup when the gadget cable is attached. So when adbd
then tries to use the device, it doesn't work and it then tries
to restart it over and over via the ep_sethalt calls (via
FUNCTIONFS_CLEAR_HALT ioctl).

Chen Yu suggested this patch to avoid suspending if we're
in device mode, and it avoids the problem.

Cc: Wei Xu <xuwei5@hisilicon.com>
Cc: Guodong Xu <guodong.xu@linaro.org>
Cc: Amit Pundir <amit.pundir@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: John Youn <johnyoun@synopsys.com>
Cc: Douglas Anderson <dianders@chromium.org>
Cc: Chen Yu <chenyu56@huawei.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>
Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Suggested-by: Chen Yu <chenyu56@huawei.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
2017-01-12 10:02:48 +02:00
..
core_intr.c usb: dwc2: Declare the core params struct statically 2016-11-18 13:54:11 +02:00
core.c usb: dwc2: Declare the core params struct statically 2016-11-18 13:54:11 +02:00
core.h usb: dwc2: use u32 for DT binding parameters 2017-01-12 10:02:20 +02:00
debug.h usb: dwc2: move debugfs code to a separate file 2015-04-29 15:18:25 -05:00
debugfs.c usb: dwc2: Fix fifo_show() functionality 2016-11-18 13:54:53 +02:00
gadget.c usb: dwc2: gadget: Fix DMA memory freeing 2017-01-12 09:58:52 +02:00
hcd_ddma.c usb: dwc2: host: Rename MAX_DMA_DESC_SIZE to HOST_DMA_NBYTES_LIMIT 2016-11-18 13:54:19 +02:00
hcd_intr.c usb: dwc2: Stop Complete Splits after Data PID == 0 2016-11-18 13:54:52 +02:00
hcd_queue.c usb: dwc2: Fix coverity issue in hcd_queue.c 2016-11-18 13:54:17 +02:00
hcd.c usb: dwc2: Avoid suspending if we're in gadget mode 2017-01-12 10:02:48 +02:00
hcd.h usb: dwc2: Move functions from header to source 2016-11-18 13:54:54 +02:00
hw.h usb: dwc2: gadget: Enable the BNA interrupt 2016-11-18 13:54:47 +02:00
Kconfig USB: dwc2-usb: add USB_GADGET dependency 2016-06-29 11:11:41 +03:00
Makefile usb: dwc2: Add params.c file 2016-11-18 13:54:10 +02:00
params.c usb: dwc2: use u32 for DT binding parameters 2017-01-12 10:02:20 +02:00
pci.c usb: dwc2: Deprecate g-use-dma binding 2016-11-18 13:54:17 +02:00
platform.c usb: dwc2: Remove dwc2_set_all_params function 2016-11-18 13:54:11 +02:00