OpenCloudOS-Kernel/drivers/usb/mtu3
Chunfeng Yun 5aba179c34 usb: mtu3: fix the failure of qmu stop
This happens when do stress test of uvc stream on/off which will
enable/disable endpoints. uvc has four tx requests, and may disable
endpoint between queue tx requests as following:
    enable ep --> start qmu
    queue tx request0
    queue tx request1
    queue tx request2 --> resume qmu
    disable ep --> stop qmu may fail [1]
    queue tx request3 --> will resume qmu, may cause qmu can't work
                          when enable ep next time [2]

[1]: when the tx fifo has some data to transmit, and
    try to stop qmu (stop ep) meanwhile resume qmu (queue tx request),
    it may cause stop qmu timeout, then can be fixed by flushing fifo
    when stop qmu.
[2]: it resumes qmu again, shall stop qmu again.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Reported-by: Min Guo <min.guo@mediatek.com>
Link: https://lore.kernel.org/r/20230119033322.21426-1-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-19 14:12:08 +01:00
..
Kconfig usb: mtu3: register a USB Role Switch for dual role mode 2019-09-03 20:02:15 +02:00
Makefile usb: mtu3: add tracepoints to help debug 2019-03-26 16:40:14 +09:00
mtu3.h usb: mtu3: add feature to disable device's usb3 port 2022-07-08 14:53:23 +02:00
mtu3_core.c usb: mtu3: fix failed runtime suspend in host only mode 2022-09-30 13:55:48 +02:00
mtu3_debug.h usb: mtu3: mtu3_debug: remove an unused struct member 2020-12-04 16:49:06 +01:00
mtu3_debugfs.c usb: mtu3: print endpoint type as string 2022-07-08 14:53:18 +02:00
mtu3_dr.c usb: mtu3: fix USB 3.0 dual-role-switch from device to host 2022-04-21 19:06:41 +02:00
mtu3_dr.h usb: mtu3: support suspend/resume for dual-role mode 2021-07-27 15:58:37 +02:00
mtu3_gadget.c usb: mtu3: fix the failure of qmu stop 2023-01-19 14:12:08 +01:00
mtu3_gadget_ep0.c usb: mtu3: support function remote wakeup 2022-07-08 14:53:30 +02:00
mtu3_host.c usb: mtu3: fix random remote wakeup 2021-08-26 13:41:52 +02:00
mtu3_hw_regs.h usb: mtu3: fix the failure of qmu stop 2023-01-19 14:12:08 +01:00
mtu3_plat.c usb: mtu3: fix failed runtime suspend in host only mode 2022-09-30 13:55:48 +02:00
mtu3_qmu.c usb: mtu3: fix the failure of qmu stop 2023-01-19 14:12:08 +01:00
mtu3_qmu.h USB: mtu3: Use the correct style for SPDX License Identifier 2020-04-16 14:32:48 +02:00
mtu3_trace.c usb: mtu3: mtu3_trace: Supply missing mtu3_debug.h include file 2020-07-15 17:25:57 +02:00
mtu3_trace.h Tracing updates for 5.20 / 6.0 2022-08-05 09:41:12 -07:00