linux_dsm_epyc7002/drivers/usb/musb
Bin Liu 6010abf2c2 usb: musb: dsps: fix otg state machine
Due to lack of ID pin interrupt event on AM335x devices, the musb dsps
driver uses polling to detect usb device attach for dual-role port.

But in the case if a micro-A cable adapter is attached without a USB device
attached to the cable, the musb state machine gets stuck in a_wait_vrise
state waiting for the MUSB_CONNECT interrupt which won't happen due to the
usb device is not attached. The state is stuck in a_wait_vrise even after
the micro-A cable is detached, which could cause VBUS retention if then the
dual-role port is attached to a host port.

To fix the problem, make a_wait_vrise as a transient state, then move the
state to either a_wait_bcon for host port or a_idle state for dual-role
port, if no usb device is attached to the port.

Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-12-18 15:46:31 +01:00
..
am35x.c usb: musb: remove references to default_a of struct usb_otg 2018-05-22 12:03:25 +02:00
cppi_dma.c USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
cppi_dma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
da8xx.c usb: musb: remove an unused variable 2018-05-31 12:44:39 +02:00
davinci.c usb: musb: remove references to default_a of struct usb_otg 2018-05-22 12:03:25 +02:00
davinci.h USB: musb: Remove redundant license text 2017-11-07 15:45:01 +01:00
jz4740.c USB: musb: Remove redundant license text 2017-11-07 15:45:01 +01:00
Kconfig usb: musb: remove blackfin port 2018-03-26 15:57:12 +02:00
Makefile usb: musb: remove blackfin port 2018-03-26 15:57:12 +02:00
musb_am335x.c USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
musb_core.c USB: musb: clean up debugfs file and directory creation 2018-05-31 12:54:21 +02:00
musb_core.h usb: musb: remove duplicated port mode enum 2018-05-22 12:03:25 +02:00
musb_cppi41.c usb: musb: remove duplicated quirks flag 2018-05-22 12:03:24 +02:00
musb_debug.h USB: musb: clean up debugfs file and directory creation 2018-05-31 12:54:21 +02:00
musb_debugfs.c USB: musb: clean up debugfs file and directory creation 2018-05-31 12:54:21 +02:00
musb_dma.h usb: musb: remove duplicated quirks flag 2018-05-22 12:03:24 +02:00
musb_dsps.c usb: musb: dsps: fix otg state machine 2018-12-18 15:46:31 +01:00
musb_gadget_ep0.c usb: musb: gadget: misplaced out of bounds check 2018-03-29 18:37:28 +02:00
musb_gadget.c usb: musb: disable otg protocol support 2018-05-22 12:03:25 +02:00
musb_gadget.h usb: musb: gadget: fix to_musb_ep() to not return NULL 2018-05-22 12:03:25 +02:00
musb_host.c USB: musb: mark expected switch fall-throughs 2018-07-02 18:08:19 +02:00
musb_host.h usb: musb: fix remote wakeup racing with suspend 2018-05-14 17:04:06 +02:00
musb_io.h usb: musb: remove duplicated quirks flag 2018-05-22 12:03:24 +02:00
musb_regs.h usb: musb: remove some register access wrapper functions 2018-05-22 12:03:24 +02:00
musb_trace.c USB: musb: Remove redundant license text 2017-11-07 15:45:01 +01:00
musb_trace.h USB: musb: Remove redundant license text 2017-11-07 15:45:01 +01:00
musb_virthub.c usb: musb: remove duplicated port mode enum 2018-05-22 12:03:25 +02:00
musbhsdma.c usb: musb: remove adjust_channel_params() callback from musb_platform_ops 2018-05-22 12:03:24 +02:00
omap2430.c usb: musb: remove references to default_a of struct usb_otg 2018-05-22 12:03:25 +02:00
omap2430.h USB: musb: Remove redundant license text 2017-11-07 15:45:01 +01:00
sunxi.c usb: musb: remove references to default_a of struct usb_otg 2018-05-22 12:03:25 +02:00
tusb6010_omap.c USB: musb: Remove redundant license text 2017-11-07 15:45:01 +01:00
tusb6010.c USB: musb: Remove redundant license text 2017-11-07 15:45:01 +01:00
tusb6010.h USB: musb: Remove redundant license text 2017-11-07 15:45:01 +01:00
ux500_dma.c USB: musb: Remove redundant license text 2017-11-07 15:45:01 +01:00
ux500.c usb: musb: remove references to default_a of struct usb_otg 2018-05-22 12:03:25 +02:00