WSL2-Linux-Kernel/drivers/usb/cdns3
Pawel Laszczak b69ec50b3e usb: cdns3: fix race condition before setting doorbell
For DEV_VER_V3 version there exist race condition between clearing
ep_sts.EP_STS_TRBERR and setting ep_cmd.EP_CMD_DRDY bit.
Setting EP_CMD_DRDY will be ignored by controller when
EP_STS_TRBERR is set. So, between these two instructions we have
a small time gap in which the EP_STSS_TRBERR can be set. In such case
the transfer will not start after setting doorbell.

Fixes: 7733f6c32e ("usb: cdns3: Add Cadence USB3 DRD Driver")
cc: <stable@vger.kernel.org> # 5.12.x
Tested-by: Aswath Govindraju <a-govindraju@ti.com>
Reviewed-by: Aswath Govindraju <a-govindraju@ti.com>
Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Link: https://lore.kernel.org/r/20210907062619.34622-1-pawell@gli-login.cadence.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-09-14 10:32:41 +02:00
..
Kconfig
Makefile
cdns3-debug.h
cdns3-ep0.c
cdns3-gadget.c usb: cdns3: fix race condition before setting doorbell 2021-09-14 10:32:41 +02:00
cdns3-gadget.h
cdns3-imx.c
cdns3-pci-wrap.c
cdns3-plat.c
cdns3-ti.c
cdns3-trace.c
cdns3-trace.h
cdnsp-debug.h
cdnsp-ep0.c
cdnsp-gadget.c usb: cdnsp: Fix incorrect supported maximum speed 2021-07-29 14:13:02 +08:00
cdnsp-gadget.h usb: cdnsp: Fix the IMAN_IE_SET and IMAN_IE_CLEAR macro 2021-07-29 14:28:15 +08:00
cdnsp-mem.c usb: cdnsp: fix the wrong mult value for HS isoc or intr 2021-08-13 13:05:50 +02:00
cdnsp-pci.c
cdnsp-ring.c usb: cdnsp: Fixed issue with ZLP 2021-07-29 14:13:02 +08:00
cdnsp-trace.c
cdnsp-trace.h
core.c
core.h
drd.c
drd.h
gadget-export.h
host-export.h
host.c