linux-uconsole/drivers/phy
Stephan Gerhold 8fa7f8d5ba phy: qcom-usb-hs: Fix extcon double register after power cycle
[ Upstream commit 64f86b9978 ]

Commit f0b5c2c963 ("phy: qcom-usb-hs: Replace the extcon API")
switched from extcon_register_notifier() to the resource-managed
API, i.e. devm_extcon_register_notifier().

This is problematic in this case, because the extcon notifier
is dynamically registered/unregistered whenever the PHY is powered
on/off. The resource-managed API does not unregister the notifier
until the driver is removed, so as soon as the PHY is power cycled,
attempting to register the notifier again results in:

	double register detected
	WARNING: CPU: 1 PID: 182 at kernel/notifier.c:26 notifier_chain_register+0x74/0xa0
	Call trace:
	 ...
	 extcon_register_notifier+0x74/0xb8
	 devm_extcon_register_notifier+0x54/0xb8
	 qcom_usb_hs_phy_power_on+0x1fc/0x208
	 ...

... and USB stops working after plugging the cable out and in
another time.

The easiest way to fix this is to make a partial revert of
commit f0b5c2c963 ("phy: qcom-usb-hs: Replace the extcon API")
and avoid using the resource-managed API in this case.

Fixes: f0b5c2c963 ("phy: qcom-usb-hs: Replace the extcon API")
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-31 16:35:30 +01:00
..
allwinner phy: sun4i-usb: Make sure to disable PHY0 passby for peripheral mode 2019-05-31 06:46:20 -07:00
amlogic
broadcom phy: brcm-sata: allow PHY_BRCM_SATA driver to be built for DSL SoCs 2019-11-20 18:47:23 +01:00
hisilicon phy: add inno-usb2-phy driver for hi3798cv200 SoC 2018-03-16 16:55:29 +05:30
lantiq phy: lantiq: Fix compile warning 2019-11-20 18:47:35 +01:00
marvell phy: mvebu-cp110-comphy: switch to SPDX identifier 2018-07-24 11:12:15 +05:30
mediatek phy: phy-mtk-tphy: add property for BC12 2018-07-10 13:45:08 +05:30
motorola phy: mapphone-mdm6600: add gpiolib dependency 2019-05-31 06:46:20 -07:00
qualcomm phy: qcom-usb-hs: Fix extcon double register after power cycle 2019-12-31 16:35:30 +01:00
ralink phy: add 'depends on HAS_IOMEM' to fix unmet dependency 2018-03-16 13:40:45 +05:30
renesas phy: renesas: rcar-gen3-usb2: Fix sysfs interface of "role" 2019-12-17 20:34:45 +01:00
rockchip phy: rockchip-typec: fall back to working in host-mode if extcon is missing. 2018-03-16 16:55:37 +05:30
samsung phy: exynos-mipi-video: Simplify code by using regmap_update_bits() 2018-04-25 10:52:59 +05:30
st phy: stm32: fix usbphyc static checker and checkpatch warnings 2018-05-20 21:51:25 +05:30
tegra phy: tegra: Convert to use match_string() helper 2018-05-20 21:51:22 +05:30
ti phy: phy-twl4030-usb: fix denied runtime access 2019-11-20 18:47:24 +01:00
Kconfig
Makefile
phy-core.c phy: core: Allow phy_pm_runtime_xxx API calls with NULL phy 2018-04-25 10:52:59 +05:30
phy-lpc18xx-usb-otg.c
phy-pistachio-usb.c
phy-xgene.c