linux/drivers/usb/chipidea
Xu Yang af1d1d3e4e usb: chipidea: udc: handle USB Error Interrupt if IOC not set
[ Upstream commit 548f48b66c ]

As per USBSTS register description about UEI:

  When completion of a USB transaction results in an error condition, this
  bit is set by the Host/Device Controller. This bit is set along with the
  USBINT bit, if the TD on which the error interrupt occurred also had its
  interrupt on complete (IOC) bit set.

UI is set only when IOC set. Add checking UEI to fix miss call
isr_tr_complete_handler() when IOC have not set and transfer error happen.

Acked-by: Peter Chen <peter.chen@kernel.com>
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Link: https://lore.kernel.org/r/20240926022906.473319-1-xu.yang_2@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-12-14 19:54:48 +01:00
..
bits.h USB: chipidea: Use the correct style for SPDX License Identifier 2020-03-16 11:13:47 +08:00
ci.h usb: chipidea: add workaround for chipidea PEC bug 2023-09-23 11:11:07 +02:00
ci_hdrc_imx.c usb: chipidea: add workaround for chipidea PEC bug 2023-09-23 11:11:07 +02:00
ci_hdrc_imx.h USB: chipidea: fix typo in comment 2022-06-10 11:49:15 +02:00
ci_hdrc_msm.c usb: chipidea: msm: Ensure proper controller reset using role switch API 2020-05-07 08:46:35 +02:00
ci_hdrc_pci.c usb: chipidea: ci_hdrc_pci: Fix improper use of kerneldoc format 2020-07-09 17:19:56 +02:00
ci_hdrc_tegra.c usb: chipidea: tegra: Add runtime PM and OPP support 2021-12-16 14:05:23 +01:00
ci_hdrc_usb2.c usb: chipidea: Add support for VBUS control with PHY 2022-08-31 09:07:52 +02:00
core.c usb: chipidea: wait controller resume finished for wakeup irq 2024-01-25 15:27:40 -08:00
debug.c USB: chipidea: fix memory leak with using debugfs_lookup() 2023-03-11 13:55:36 +01:00
host.c usb: chipidea: Simplify Tegra DMA alignment code 2023-11-20 11:52:10 +01:00
host.h usb: chipidea: add inline for ci_hdrc_host_driver_init if host is not defined 2020-01-22 07:54:27 +01:00
Kconfig usb: chipidea: make configs for glue drivers visible with EXPERT 2022-09-08 13:32:50 +02:00
Makefile usb: chipidea: add tracepoint support for udc 2020-12-10 08:45:26 +08:00
otg.c usb: chipidea: core: fix possible concurrent when switch role 2023-03-30 12:49:24 +02:00
otg.h USB: chipidea: Use the correct style for SPDX License Identifier 2020-03-16 11:13:47 +08:00
otg_fsm.c usb: chipidea: fix deadlock in ci_otg_del_timer 2022-11-09 12:34:18 +01:00
otg_fsm.h USB: chipidea: Use the correct style for SPDX License Identifier 2020-03-16 11:13:47 +08:00
trace.c usb: chipidea: add tracepoint support for udc 2020-12-10 08:45:26 +08:00
trace.h usb: chipidea: tracing: Use the new __vstring() helper 2022-07-15 17:44:40 -04:00
udc.c usb: chipidea: udc: handle USB Error Interrupt if IOC not set 2024-12-14 19:54:48 +01:00
udc.h usb: chipidea: udc: add software sg list support 2020-05-06 09:42:35 +08:00
ulpi.c usb: chipidea: Always build ULPI code 2018-07-05 14:22:47 +08:00
usbmisc_imx.c usb: chipidea: imx: improve logic if samsung,picophy-* parameter is 0 2023-09-06 21:27:01 +01:00