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