diff mbox series

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

Message ID 96da5fe557f3b2501447358895bd78decc4633ef.1735482146.git.hns@goldelico.com (mailing list archive)
State New
Headers show
Series [RESEND] phy: ingenic: fix unbalanced regulator_disable() warning | expand

Commit Message

H. Nikolaus Schaller Dec. 29, 2024, 2:22 p.m. UTC
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@goldelico.com>
---

Notes:
    Resent because linux-mips@vger.kernel.org was not automatically added by
    get_maintainer.pl (drivers/phy/ingenic missing in MAINTAINERS record?)

 drivers/phy/ingenic/phy-ingenic-usb.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Paul Cercueil Jan. 2, 2025, 12:53 p.m. UTC | #1
Hi Nikolaus,

Le dimanche 29 décembre 2024 à 15:22 +0100, H. Nikolaus Schaller a
écrit :
> 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@goldelico.com>

Looks good to me. The regulator is not enabled in
ingenic_usb_phy_init(), so it should not be disabled in
ingenic_usb_phy_exit().

Reviewed-by: Paul Cercueil <paul@crapouillou.net>

Cheers,
-Paul


> ---
> 
> Notes:
>     Resent because linux-mips@vger.kernel.org was not automatically
> added by
>     get_maintainer.pl (drivers/phy/ingenic missing in MAINTAINERS
> record?)
> 
>  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;
>  }
diff mbox series

Patch

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;
 }