[PATCH] phy: ingenic: fix unbalanced regulator_disable() warning

H. Nikolaus Schaller hns at goldelico.com
Fri Dec 6 06:15:34 PST 2024


if ingenic_usb_phy_exit is called the regulator is already disabled
through ingenic_usb_phy_power_off() leading to

[    5.367301] WARNING: CPU: 0 PID: 20 at drivers/regulator/core.c:2953 _regulator_disable+0x200/0x230
[    5.368209] unbalanced disables for regulator-dummy
[    5.370364] Modules linked in: phy_ingenic_usb
...
[    5.373441] [<8054601c>] regulator_disable+0x40/0x80
[    5.372952] [<c02450f8>] ingenic_usb_phy_exit+0x48/0x60 [phy_ingenic_usb]
[    5.374283] [<8050839c>] phy_exit+0xd8/0x104
[    5.373104] [<80657a24>] __dwc2_lowlevel_hw_disable+0xe0/0xe8
[    5.373393] [<80658ad4>] dwc2_driver_probe+0x818/0x834
...

Signed-off-by: H. Nikolaus Schaller <hns at goldelico.com>
---
 drivers/phy/ingenic/phy-ingenic-usb.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/phy/ingenic/phy-ingenic-usb.c b/drivers/phy/ingenic/phy-ingenic-usb.c
index eb2721f72a4c1..35984dd8a1bd7 100644
--- a/drivers/phy/ingenic/phy-ingenic-usb.c
+++ b/drivers/phy/ingenic/phy-ingenic-usb.c
@@ -124,7 +124,6 @@ static int ingenic_usb_phy_exit(struct phy *phy)
 	struct ingenic_usb_phy *priv = phy_get_drvdata(phy);
 
 	clk_disable_unprepare(priv->clk);
-	regulator_disable(priv->vcc_supply);
 
 	return 0;
 }
-- 
2.47.0




More information about the linux-phy mailing list