linux/drivers/usb/chipidea
Xu Yang 37065eee08 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 20:04:07 +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: udc: limit usb request length to max 16KB 2024-12-14 20:04:07 +01:00
ci_hdrc_imx.c usb: chipidea: add CI_HDRC_HAS_SHORT_PKT_LIMIT flag 2024-12-14 20:04:07 +01:00
ci_hdrc_imx.h usb: chipidea: imx: add one fsl picophy parameter tuning implementation 2023-07-25 18:21:52 +02:00
ci_hdrc_msm.c usb: add missing MODULE_DESCRIPTION() macros 2024-06-20 19:18:52 +02:00
ci_hdrc_npcm.c usb: chipidea: npcm: Fix coding style with clarification of data type 2024-09-11 15:34:49 +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: ci_hdrc_tegra: Switch to RUNTIME_PM_OPS() 2024-06-27 16:07:01 +02:00
ci_hdrc_usb2.c usb: chipidea: Fix unused ci_hdrc_usb2_of_match warning for !CONFIG_OF 2023-10-21 12:46:35 +02:00
core.c usb: chipidea: add CI_HDRC_HAS_SHORT_PKT_LIMIT flag 2024-12-14 20:04:07 +01:00
debug.c usb: chipidea: debug: remove redundant 'role' debug file 2023-03-23 17:27:46 +01:00
host.c usb: chipidea: Simplify Tegra DMA alignment code 2023-10-02 14:10:47 +02: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: Add support for NPCM 2023-10-21 12:46:00 +02:00
Makefile usb: chipidea: Add support for NPCM 2023-10-21 12:46:00 +02:00
otg.c usb: chipidea: add CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS flag 2023-10-21 12:45:45 +02:00
otg.h usb: chipidea: core: add controller resume support when controller is powered off 2022-10-23 14:34:53 +02: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 tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
udc.c usb: chipidea: udc: handle USB Error Interrupt if IOC not set 2024-12-14 20:04:07 +01:00
udc.h usb: chipidea: udc: create bounce buffer for problem sglist entries if possible 2024-12-14 20:04:07 +01:00
ulpi.c Revert "usb: chipidea: move ci_ulpi_init after the phy initialization" 2024-06-04 14:51:09 +02:00
usbmisc_imx.c usb: chipidea: imx: add one fsl picophy parameter tuning implementation 2023-07-25 18:21:52 +02:00