• John Stultz's avatar
    usb: dwc2: Avoid suspending if we're in gadget mode · 866932e2
    John Stultz authored
    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: default avatarChen Yu <chenyu56@huawei.com>
    Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
    Signed-off-by: default avatarJohn Youn <johnyoun@synopsys.com>
    Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
    866932e2
hcd.c 149 KB