linux/include/linux/usb
Marco Felsch cd8ab566cf usb: typec: tcpci: clear the fault status bit
commit 23e60c8daf upstream.

According the "USB Type-C Port Controller Interface Specification v2.0"
the TCPC sets the fault status register bit-7
(AllRegistersResetToDefault) once the registers have been reset to
their default values.

This triggers an alert(-irq) on PTN5110 devices albeit we do mask the
fault-irq, which may cause a kernel hang. Fix this generically by writing
a one to the corresponding bit-7.

Cc: stable@vger.kernel.org
Fixes: 74e656d6b0 ("staging: typec: Type-C Port Controller Interface driver (tcpci)")
Reported-by: "Angus Ainslie (Purism)" <angus@akkea.ca>
Closes: https://lore.kernel.org/all/20190508002749.14816-2-angus@akkea.ca/
Reported-by: Christian Bach <christian.bach@scs.ch>
Closes: https://lore.kernel.org/regressions/ZR0P278MB07737E5F1D48632897D51AC3EB329@ZR0P278MB0773.CHEP278.PROD.OUTLOOK.COM/t/
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20230816172502.1155079-1-festevam@gmail.com
Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2023-09-06 21:28:40 +01:00
..
audio-v2.h usb: audio-v2: add ability to define feature unit descriptor 2021-07-21 10:10:11 +02:00
audio-v3.h USB: Replace zero-length array with flexible-array member 2020-02-23 19:24:51 +01:00
audio.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
c67x00.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
ccid.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
cdc-wdm.h usb: class: cdc-wdm: WWAN framework integration 2021-05-11 16:17:56 -07:00
cdc.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
cdc_ncm.h net: usb: cdc_ncm: use new API for bh tasklet 2021-02-03 14:22:21 -08:00
ch9.h usb: common: move function's kerneldoc next to its definition 2021-03-10 09:37:17 +01:00
chipidea.h usb: chipidea: tegra: Support host mode 2021-01-13 11:26:34 +01:00
composite.h usb: gadget: Properly configure the device for remote wakeup 2023-05-30 13:55:29 +01:00
ehci-dbgp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ehci_def.h USB: EHCI: Add alias for Broadcom INSNREG 2021-08-18 22:28:28 +02:00
ehci_pdriver.h usb: ehci: add spurious flag to disable overcurrent checking 2021-03-23 12:36:17 +01:00
ezusb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
functionfs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
g_hid.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
gadget.h usb: gadget: Properly configure the device for remote wakeup 2023-05-30 13:55:29 +01:00
gadget_configfs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hcd.h usb: usbfs: Enforce page requirements for mmap 2023-06-14 11:13:07 +02:00
input.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
iowarrior.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
irda.h USB: serial: ir-usb: fix link-speed handling 2020-01-23 09:11:16 +01:00
isp116x.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
isp1301.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
isp1362.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m66592.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
musb-ux500.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
musb.h usb: musb: remove unused members in struct musb_hdrc_config 2018-05-22 12:03:25 +02:00
net2280.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
of.h USB: of: clean up device-node helper 2017-11-28 15:12:38 +01:00
ohci_pdriver.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
otg-fsm.h usb: otg-fsm: Fix hrtimer list corruption 2021-07-27 16:31:31 +02:00
otg.h usb: common: add helper to get role-switch-default-mode 2021-07-27 15:58:37 +02:00
pd.h usb: pd: Set PD_T_SINK_WAIT_CAP to 310ms 2021-06-02 16:59:29 +02:00
pd_ado.h typec: tcpm: Add ADO header for Alert message handling 2018-03-09 09:21:40 -08:00
pd_bdo.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
pd_ext_sdb.h usb: typec: tcpm: Properly handle Alert and Status Messages 2021-06-04 13:24:16 +02:00
pd_vdo.h usb: pd: Make SVDM Version configurable in VDM header 2021-02-09 11:48:54 +01:00
phy.h USB: phy: drop legacy board-file support 2018-04-22 15:58:24 +02:00
phy_companion.h USB: Replace HTTP links with HTTPS ones 2020-07-21 13:41:57 +02:00
quirks.h usb: fix spelling mistakes in header files 2021-05-21 20:05:31 +02:00
r8a66597.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
r8152.h net/usb/r8153_ecm: support ECM mode for RTL8153 2020-11-05 16:58:48 -08:00
renesas_usbhs.h usb: renesas_usbhs: Switch to GPIO descriptor 2019-12-30 20:37:42 +01:00
rndis_host.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
role.h Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection" 2023-07-23 13:47:25 +02:00
serial.h USB-serial updates for 5.14-rc1 2021-06-24 12:54:28 +02:00
sl811.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
storage.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00
tcpci.h usb: typec: tcpci: clear the fault status bit 2023-09-06 21:28:40 +01:00
tcpm.h usb: typec: tcpm: Move TCPC to APPLY_RC state during PR_SWAP 2021-05-21 20:05:56 +02:00
tegra_usb_phy.h usb: phy: tegra: Support waking up from a low power mode 2021-01-13 11:26:34 +01:00
typec.h usb: typec: Factor out non-PD fwnode properties 2022-12-31 13:14:28 +01:00
typec_altmode.h usb: typec: Manage SVDM version 2021-02-09 11:48:54 +01:00
typec_dp.h usb: typec: altmodes/displayport: correct pin assignment for UFP receptacles 2022-09-08 12:28:06 +02:00
typec_mux.h usb: typec: mux: Allow the mux handles to be requested with fwnode 2020-03-04 11:12:49 +01:00
typec_tbt.h usb: typec: Remove one bit support for the Thunderbolt rounded/non-rounded cable 2020-11-18 12:53:45 +01:00
uas.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ulpi.h usb: ulpi: Add resource-managed variant of otg_ulpi_create() 2020-01-09 16:21:57 +01:00
usb338x.h usb: gadget: net2280: Move all "ll" registers in one structure 2019-08-30 09:14:38 +03:00
usb_phy_generic.h usb: phy-generic: Delete unused platform data 2020-01-15 10:39:20 +01:00
usbnet.h usbnet: add method for reporting speed without MII 2021-04-06 16:22:36 -07:00
xhci-dbgp.h USB: add SPDX identifiers to all remaining files in drivers/usb/ 2017-11-04 11:48:02 +01:00