summaryrefslogtreecommitdiff
path: root/arch/s390
diff options
context:
space:
mode:
authorStephan Gerhold <stephan@gerhold.net>2019-10-08 14:52:08 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-12-31 14:37:17 +0300
commit17972ec7d6fff2d32e0a7022164402c25e264e2a (patch)
tree7258d528d2339d6e1f6a70a91dc7b8bdbfcf2185 /arch/s390
parent8e08c6af8694ef89bc6be0458ec59941649c7284 (diff)
downloadlinux-17972ec7d6fff2d32e0a7022164402c25e264e2a.tar.xz
phy: qcom-usb-hs: Fix extcon double register after power cycle
[ Upstream commit 64f86b9978449ff05bfa6c64b4c5439e21e9c80b ] Commit f0b5c2c96370 ("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 f0b5c2c96370 ("phy: qcom-usb-hs: Replace the extcon API") and avoid using the resource-managed API in this case. Fixes: f0b5c2c96370 ("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>
Diffstat (limited to 'arch/s390')
0 files changed, 0 insertions, 0 deletions