linux-stable/drivers/usb
Xu Yang 91f400233e usb: chipidea: add workaround for chipidea PEC bug
[ Upstream commit 12e6ac69cc ]

Some NXP processors using ChipIdea USB IP have a bug when frame babble is
detected.

Issue description:
In USB camera test, our controller is host in HS mode. In ISOC IN, when
device sends data across the micro frame, it causes the babble in host
controller. This will clear the PE bit. In spec, it also requires to set
the PEC bit and then set the PCI bit. Without the PCI interrupt, the
software does not know the PE is cleared.

This will add a flag CI_HDRC_HAS_PORTSC_PEC_MISSED to some impacted
platform datas. And the ehci host driver will assert PEC by SW when
specific conditions are satisfied.

Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Link: https://lore.kernel.org/r/20230809024432.535160-2-xu.yang_2@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-09-23 11:11:07 +02:00
..
atm
c67x00
cdns3 usb: cdns3: Put the cdns set active part outside the spin lock 2023-09-23 11:11:06 +02:00
chipidea usb: chipidea: add workaround for chipidea PEC bug 2023-09-23 11:11:07 +02:00
class USB: usbtmc: Fix direction for 0-length ioctl control messages 2023-05-24 17:32:48 +01:00
common usb: common: usb-conn-gpio: Prevent bailing out if initial role is none 2023-08-16 18:27:24 +02:00
core USB: core: Fix oversight in SuperSpeed initialization 2023-09-13 09:43:04 +02:00
dwc2 usb: dwc2: Fix some error handling paths 2023-07-19 16:21:49 +02:00
dwc3 usb: dwc3: meson-g12a: do post init to fix broken usb after resumption 2023-09-06 21:27:00 +01:00
early usb: early: xhci-dbc: Fix a potential out-of-bound memory access 2023-03-10 09:33:35 +01:00
gadget usb: gadget: fsl_qe_udc: validate endpoint index for ch9 udc 2023-09-23 11:11:07 +02:00
host usb: ehci: add workaround for chipidea PORTSC.PEC bug 2023-09-23 11:11:07 +02:00
image
isp1760
misc usb: misc: ehset: fix wrong if condition 2023-08-03 10:24:10 +02:00
mon
mtu3 usb: mtu3: fix kernel panic at qmu transfer done irq handler 2023-05-11 23:03:30 +09:00
musb Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection" 2023-07-19 16:21:56 +02:00
phy usb: phy: mxs: fix getting wrong state with mxs_phy_is_otg_host() 2023-09-13 09:42:51 +02:00
renesas_usbhs
roles Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection" 2023-07-19 16:21:56 +02:00
serial USB: serial: option: add FOXCONN T99W368/T99W373 product 2023-09-06 21:27:00 +01:00
storage usb-storage: alauda: Fix uninit-value in alauda_check_media() 2023-08-16 18:27:24 +02:00
typec usb: typec: bus: verify partner exists in typec_altmode_attention 2023-09-13 09:43:04 +02:00
usbip use less confusing names for iov_iter direction initializers 2023-02-09 11:28:04 +01:00
Kconfig
Makefile
usb-skeleton.c