linux/drivers/usb/cdns3
Pawel Laszczak d54696813c usb: cdnsp: fix for Link TRB with TC
commit 740f2e2791 upstream.

Stop Endpoint command on LINK TRB with TC bit set to 1 causes that
internal cycle bit can have incorrect state after command complete.
In consequence empty transfer ring can be incorrectly detected
when EP is resumed.
NOP TRB before LINK TRB avoid such scenario. Stop Endpoint command
is then on NOP TRB and internal cycle bit is not changed and have
correct value.

Fixes: 3d82904559 ("usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver")
cc: <stable@vger.kernel.org>
Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Reviewed-by: Peter Chen <peter.chen@kernel.org>
Link: https://lore.kernel.org/r/PH7PR07MB953878279F375CCCE6C6F40FDD8E2@PH7PR07MB9538.namprd07.prod.outlook.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-09-04 13:28:30 +02:00
..
cdns3-debug.h usb: cdns3: change trace event cdns3_ring() operation 2023-03-09 15:35:03 +01:00
cdns3-ep0.c usb: cdns3: Fixed incorrect gadget state 2021-07-29 14:13:02 +08:00
cdns3-gadget.c usb: cdns3: fix memory double free when handle zero packet 2024-03-01 13:35:02 +01:00
cdns3-gadget.h usb: cdns3: fix iso transfer error when mult is not zero 2024-01-25 15:35:43 -08:00
cdns3-imx.c usb: cdns3: imx: Rework system PM to avoid duplicated operations 2023-05-29 15:53:48 +01:00
cdns3-pci-wrap.c usb: cdns3: Fix issue with using incorrect PCI device function 2023-03-16 12:43:42 +01:00
cdns3-plat.c usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
cdns3-starfive.c usb: cdns3: starfive: Convert to platform remove callback returning void 2023-07-25 18:18:52 +02:00
cdns3-ti.c usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
cdns3-trace.c usb: cdns3: Change file names for cdns3 driver. 2020-12-29 12:36:13 +08:00
cdns3-trace.h usb: cdns3: change some trace event __dynamic_array() to __get_buf() 2023-03-09 15:35:03 +01:00
cdnsp-debug.h usb: cdnsp: fix cdnsp_decode_trb function to properly handle ret value 2022-01-26 13:59:20 +01:00
cdnsp-ep0.c usb: cdnsp: Fixes error: uninitialized symbol 'len' 2023-04-05 19:55:04 +02:00
cdnsp-gadget.c usb: cdnsp: Fixes issue with dequeuing not queued requests 2023-10-02 13:19:13 +02:00
cdnsp-gadget.h usb: cdnsp: fix for Link TRB with TC 2024-09-04 13:28:30 +02:00
cdnsp-mem.c usb: cdnsp: Fix a NULL pointer dereference in cdnsp_endpoint_init() 2021-12-03 13:57:45 +01:00
cdnsp-pci.c usb: cdns3: Put the cdns set active part outside the spin lock 2023-07-25 17:49:25 +02:00
cdnsp-ring.c usb: cdnsp: fix for Link TRB with TC 2024-09-04 13:28:30 +02:00
cdnsp-trace.c usb: cdnsp: Add tracepoints for CDNSP driver 2020-12-29 12:36:13 +08:00
cdnsp-trace.h usb: cdns3: change some trace event __dynamic_array() to __get_buf() 2023-03-09 15:35:03 +01:00
core.c usb: cdnsp: fixed issue with incorrect detecting CDNSP family controllers 2024-03-01 13:35:02 +01:00
core.h usb: cdns3: Modify the return value of cdns_set_active () to void when CONFIG_PM_SLEEP is disabled 2023-10-02 14:25:39 +02:00
drd.c usb: cdnsp: fixed issue with incorrect detecting CDNSP family controllers 2024-03-01 13:35:02 +01:00
drd.h usb: cdnsp: fixed issue with incorrect detecting CDNSP family controllers 2024-03-01 13:35:02 +01:00
gadget-export.h usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver 2020-12-29 12:36:13 +08:00
host-export.h usb: cdns3: Removes xhci_cdns3_suspend_quirk from host-export.h 2020-12-29 12:36:13 +08:00
host.c usb: cdnsp: blocked some cdns3 specific code 2024-03-01 13:35:02 +01:00
Kconfig usb: cdns3: Add StarFive JH7110 USB driver 2023-05-29 15:52:11 +01:00
Makefile usb: cdns3: Add StarFive JH7110 USB driver 2023-05-29 15:52:11 +01:00