* [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails
@ 2026-09-19 17:42 Coia Prant
2026-09-19 20:44 ` Maxime Chevallier
` (5 more replies)
0 siblings, 6 replies; 9+ messages in thread
From: Coia Prant @ 2026-09-19 17:42 UTC (permalink / raw)
To: Heiko Stuebner, Maxime Chevallier, Andrew Lunn, David S . Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: Sebastian Reichel, netdev, linux-rockchip, linux-arm-kernel,
linux-kernel, Coia Prant
gmac_clk_enable() enables the bulk clocks first and then the optional
PHY clock. If clk_prepare_enable() on the PHY clock fails, the function
returns without rolling back the bulk clocks, and bsp_priv->clk_enabled
stays false, so the later gmac_clk_enable(bsp_priv, false) becomes a
no-op and the bulk clock references are leaked.
Add the missing clk_bulk_disable_unprepare() on that failure path.
Fixes: ea449f7fa0bf ("net: ethernet: stmmac: dwmac-rk: rework optional clock handling")
Signed-off-by: Coia Prant <coiaprant@gmail.com>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
index 8d7042e689261..f3a98bd9d6ead 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
@@ -1163,7 +1163,10 @@ static int gmac_clk_enable(struct rk_priv_data *bsp_priv, bool enable)
ret = clk_prepare_enable(bsp_priv->clk_phy);
if (ret)
+ clk_bulk_disable_unprepare(bsp_priv->num_clks,
+ bsp_priv->clks);
return ret;
+ }
rk_configure_io_clksel(bsp_priv);
rk_ungate_rmii_clock(bsp_priv);
--
2.47.3
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails
2026-09-19 17:42 [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails Coia Prant
@ 2026-09-19 20:44 ` Maxime Chevallier
2026-09-20 8:39 ` Lorenzo Bianconi
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Maxime Chevallier @ 2026-09-19 20:44 UTC (permalink / raw)
To: Coia Prant, Heiko Stuebner, Andrew Lunn, David S . Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: Sebastian Reichel, netdev, linux-rockchip, linux-arm-kernel,
linux-kernel
Hi;
On 9/19/26 19:42, Coia Prant wrote:
> gmac_clk_enable() enables the bulk clocks first and then the optional
> PHY clock. If clk_prepare_enable() on the PHY clock fails, the function
> returns without rolling back the bulk clocks, and bsp_priv->clk_enabled
> stays false, so the later gmac_clk_enable(bsp_priv, false) becomes a
> no-op and the bulk clock references are leaked.
>
> Add the missing clk_bulk_disable_unprepare() on that failure path.
>
> Fixes: ea449f7fa0bf ("net: ethernet: stmmac: dwmac-rk: rework optional clock handling")
> Signed-off-by: Coia Prant <coiaprant@gmail.com>
Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Thank you,
Maxime
> ---
> drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
> index 8d7042e689261..f3a98bd9d6ead 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
> @@ -1163,7 +1163,10 @@ static int gmac_clk_enable(struct rk_priv_data *bsp_priv, bool enable)
>
> ret = clk_prepare_enable(bsp_priv->clk_phy);
> if (ret)
> + clk_bulk_disable_unprepare(bsp_priv->num_clks,
> + bsp_priv->clks);
> return ret;
> + }
>
> rk_configure_io_clksel(bsp_priv);
> rk_ungate_rmii_clock(bsp_priv);
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails
2026-09-19 17:42 [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails Coia Prant
2026-09-19 20:44 ` Maxime Chevallier
@ 2026-09-20 8:39 ` Lorenzo Bianconi
2026-09-20 21:58 ` Heiko Stübner
` (3 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Lorenzo Bianconi @ 2026-09-20 8:39 UTC (permalink / raw)
To: Coia Prant
Cc: Heiko Stuebner, Maxime Chevallier, Andrew Lunn, David S . Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Sebastian Reichel,
netdev, linux-rockchip, linux-arm-kernel, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1404 bytes --]
> gmac_clk_enable() enables the bulk clocks first and then the optional
> PHY clock. If clk_prepare_enable() on the PHY clock fails, the function
> returns without rolling back the bulk clocks, and bsp_priv->clk_enabled
> stays false, so the later gmac_clk_enable(bsp_priv, false) becomes a
> no-op and the bulk clock references are leaked.
>
> Add the missing clk_bulk_disable_unprepare() on that failure path.
>
> Fixes: ea449f7fa0bf ("net: ethernet: stmmac: dwmac-rk: rework optional clock handling")
> Signed-off-by: Coia Prant <coiaprant@gmail.com>
Acked-by: Lorenzo Bianconi <lorenzo.bianconi@oss.qualcomm.com>
> ---
> drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
> index 8d7042e689261..f3a98bd9d6ead 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
> @@ -1163,7 +1163,10 @@ static int gmac_clk_enable(struct rk_priv_data *bsp_priv, bool enable)
>
> ret = clk_prepare_enable(bsp_priv->clk_phy);
> if (ret)
> + clk_bulk_disable_unprepare(bsp_priv->num_clks,
> + bsp_priv->clks);
> return ret;
> + }
>
> rk_configure_io_clksel(bsp_priv);
> rk_ungate_rmii_clock(bsp_priv);
> --
> 2.47.3
>
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails
2026-09-19 17:42 [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails Coia Prant
2026-09-19 20:44 ` Maxime Chevallier
2026-09-20 8:39 ` Lorenzo Bianconi
@ 2026-09-20 21:58 ` Heiko Stübner
2026-09-23 2:17 ` Jakub Kicinski
` (2 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Heiko Stübner @ 2026-09-20 21:58 UTC (permalink / raw)
To: Maxime Chevallier, Andrew Lunn, David S . Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Coia Prant
Cc: Sebastian Reichel, netdev, linux-rockchip, linux-arm-kernel,
linux-kernel, Coia Prant
Am Samstag, 19. September 2026, 19:42:23 Mitteleuropäische Sommerzeit schrieb Coia Prant:
> gmac_clk_enable() enables the bulk clocks first and then the optional
> PHY clock. If clk_prepare_enable() on the PHY clock fails, the function
> returns without rolling back the bulk clocks, and bsp_priv->clk_enabled
> stays false, so the later gmac_clk_enable(bsp_priv, false) becomes a
> no-op and the bulk clock references are leaked.
>
> Add the missing clk_bulk_disable_unprepare() on that failure path.
>
> Fixes: ea449f7fa0bf ("net: ethernet: stmmac: dwmac-rk: rework optional clock handling")
> Signed-off-by: Coia Prant <coiaprant@gmail.com>
Thanks for catching this
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
> ---
> drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
> index 8d7042e689261..f3a98bd9d6ead 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
> @@ -1163,7 +1163,10 @@ static int gmac_clk_enable(struct rk_priv_data *bsp_priv, bool enable)
>
> ret = clk_prepare_enable(bsp_priv->clk_phy);
> if (ret)
> + clk_bulk_disable_unprepare(bsp_priv->num_clks,
> + bsp_priv->clks);
> return ret;
> + }
>
> rk_configure_io_clksel(bsp_priv);
> rk_ungate_rmii_clock(bsp_priv);
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails
2026-09-19 17:42 [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails Coia Prant
` (2 preceding siblings ...)
2026-09-20 21:58 ` Heiko Stübner
@ 2026-09-23 2:17 ` Jakub Kicinski
2026-09-23 12:31 ` Coia Prant
2026-09-23 15:53 ` kernel test robot
2026-09-23 19:22 ` kernel test robot
5 siblings, 1 reply; 9+ messages in thread
From: Jakub Kicinski @ 2026-09-23 2:17 UTC (permalink / raw)
To: Coia Prant
Cc: Heiko Stuebner, Maxime Chevallier, Andrew Lunn, David S . Miller,
Eric Dumazet, Paolo Abeni, Sebastian Reichel, netdev,
linux-rockchip, linux-arm-kernel, linux-kernel
On Sun, 20 Sep 2026 01:42:23 +0800 Coia Prant wrote:
> if (ret)
> + clk_bulk_disable_unprepare(bsp_priv->num_clks,
> + bsp_priv->clks);
> return ret;
> + }
Missing a bracket, EBUILD. I almost appreciate seeing a human error like
this these days :)
--
pw-bot: cr
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails
2026-09-23 2:17 ` Jakub Kicinski
@ 2026-09-23 12:31 ` Coia Prant
2026-09-23 18:38 ` Andrew Lunn
0 siblings, 1 reply; 9+ messages in thread
From: Coia Prant @ 2026-09-23 12:31 UTC (permalink / raw)
To: Jakub Kicinski
Cc: Heiko Stuebner, Maxime Chevallier, Andrew Lunn, David S . Miller,
Eric Dumazet, Paolo Abeni, Sebastian Reichel, netdev,
linux-rockchip, linux-arm-kernel, linux-kernel
Jakub Kicinski <kuba@kernel.org> 于2026年9月23日周三 10:18写道:
>
> On Sun, 20 Sep 2026 01:42:23 +0800 Coia Prant wrote:
> > if (ret)
> > + clk_bulk_disable_unprepare(bsp_priv->num_clks,
> > + bsp_priv->clks);
> > return ret;
> > + }
>
> Missing a bracket, EBUILD. I almost appreciate seeing a human error like
> this these days :)
> --
> pw-bot: cr
That's what I get for hitting send while my brain was EBUSY. Will fix
and repost shortly.
Coia
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails
2026-09-19 17:42 [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails Coia Prant
` (3 preceding siblings ...)
2026-09-23 2:17 ` Jakub Kicinski
@ 2026-09-23 15:53 ` kernel test robot
2026-09-23 19:22 ` kernel test robot
5 siblings, 0 replies; 9+ messages in thread
From: kernel test robot @ 2026-09-23 15:53 UTC (permalink / raw)
To: Coia Prant, Heiko Stuebner, Maxime Chevallier, Andrew Lunn,
David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: oe-kbuild-all, Sebastian Reichel, netdev, linux-rockchip,
linux-arm-kernel, linux-kernel, Coia Prant
Hi Coia,
kernel test robot noticed the following build errors:
[auto build test ERROR on net/main]
url: https://github.com/intel-lab-lkp/linux/commits/Coia-Prant/net-ethernet-stmmac-dwmac-rk-fix-bulk-clock-leak-when-the-PHY-clock-fails/20260920-014223
base: net/main
patch link: https://lore.kernel.org/r/20260919174223.2356964-1-coiaprant%40gmail.com
patch subject: [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails
config: m68k-allmodconfig (https://download.01.org/0day-ci/archive/20260923/202609231728.boP5N9Xr-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260923/202609231728.boP5N9Xr-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609231728.boP5N9Xr-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c: In function 'gmac_clk_enable':
>> drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:1165:25: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
1165 | if (ret)
| ^~
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:1168:33: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
1168 | return ret;
| ^~~~~~
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c: At top level:
>> drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:1177:11: error: expected identifier or '(' before 'else'
1177 | } else {
| ^~~~
>> drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:1189:9: error: expected identifier or '(' before 'return'
1189 | return 0;
| ^~~~~~
>> drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:1190:1: error: expected identifier or '(' before '}' token
1190 | }
| ^
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c: In function 'gmac_clk_enable':
>> drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:1177:9: warning: control reaches end of non-void function [-Wreturn-type]
1177 | } else {
| ^
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c: At top level:
>> drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:199:12: warning: 'rk_gate_rmii_clock' defined but not used [-Wunused-function]
199 | static int rk_gate_rmii_clock(struct rk_priv_data *bsp_priv)
| ^~~~~~~~~~~~~~~~~~
vim +1177 drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
7ad269ea1a2b7d Roger Chen 2014-12-29 1152
7ad269ea1a2b7d Roger Chen 2014-12-29 1153 static int gmac_clk_enable(struct rk_priv_data *bsp_priv, bool enable)
7ad269ea1a2b7d Roger Chen 2014-12-29 1154 {
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1155 int ret;
7ad269ea1a2b7d Roger Chen 2014-12-29 1156
7ad269ea1a2b7d Roger Chen 2014-12-29 1157 if (enable) {
7ad269ea1a2b7d Roger Chen 2014-12-29 1158 if (!bsp_priv->clk_enabled) {
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1159 ret = clk_bulk_prepare_enable(bsp_priv->num_clks,
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1160 bsp_priv->clks);
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1161 if (ret)
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1162 return ret;
7ad269ea1a2b7d Roger Chen 2014-12-29 1163
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1164 ret = clk_prepare_enable(bsp_priv->clk_phy);
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 @1165 if (ret)
cb278e6780d874 Coia Prant 2026-09-20 1166 clk_bulk_disable_unprepare(bsp_priv->num_clks,
cb278e6780d874 Coia Prant 2026-09-20 1167 bsp_priv->clks);
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1168 return ret;
cb278e6780d874 Coia Prant 2026-09-20 1169 }
23c94d63a7e395 David Wu 2018-06-28 1170
5c1fc7cb81dfed Russell King (Oracle 2026-02-04 1171) rk_configure_io_clksel(bsp_priv);
5c1fc7cb81dfed Russell King (Oracle 2026-02-04 1172) rk_ungate_rmii_clock(bsp_priv);
2f2b60a0ec2826 David Wu 2022-08-30 1173
7ad269ea1a2b7d Roger Chen 2014-12-29 1174 mdelay(5);
7ad269ea1a2b7d Roger Chen 2014-12-29 1175 bsp_priv->clk_enabled = true;
7ad269ea1a2b7d Roger Chen 2014-12-29 1176 }
7ad269ea1a2b7d Roger Chen 2014-12-29 @1177 } else {
7ad269ea1a2b7d Roger Chen 2014-12-29 1178 if (bsp_priv->clk_enabled) {
5c1fc7cb81dfed Russell King (Oracle 2026-02-04 1179) rk_gate_rmii_clock(bsp_priv);
7f864458e9a6d2 Sebastian Reichel 2025-10-14 1180
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1181 clk_bulk_disable_unprepare(bsp_priv->num_clks,
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1182 bsp_priv->clks);
fecd4d7eef8b21 David Wu 2017-08-10 1183 clk_disable_unprepare(bsp_priv->clk_phy);
fecd4d7eef8b21 David Wu 2017-08-10 1184
7ad269ea1a2b7d Roger Chen 2014-12-29 1185 bsp_priv->clk_enabled = false;
7ad269ea1a2b7d Roger Chen 2014-12-29 1186 }
7ad269ea1a2b7d Roger Chen 2014-12-29 1187 }
7ad269ea1a2b7d Roger Chen 2014-12-29 1188
7ad269ea1a2b7d Roger Chen 2014-12-29 @1189 return 0;
7ad269ea1a2b7d Roger Chen 2014-12-29 @1190 }
7ad269ea1a2b7d Roger Chen 2014-12-29 1191
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails
2026-09-23 12:31 ` Coia Prant
@ 2026-09-23 18:38 ` Andrew Lunn
0 siblings, 0 replies; 9+ messages in thread
From: Andrew Lunn @ 2026-09-23 18:38 UTC (permalink / raw)
To: Coia Prant
Cc: Jakub Kicinski, Heiko Stuebner, Maxime Chevallier, Andrew Lunn,
David S . Miller, Eric Dumazet, Paolo Abeni, Sebastian Reichel,
netdev, linux-rockchip, linux-arm-kernel, linux-kernel
On Wed, Sep 23, 2026 at 08:31:08PM +0800, Coia Prant wrote:
> Jakub Kicinski <kuba@kernel.org> 于2026年9月23日周三 10:18写道:
> >
> > On Sun, 20 Sep 2026 01:42:23 +0800 Coia Prant wrote:
> > > if (ret)
> > > + clk_bulk_disable_unprepare(bsp_priv->num_clks,
> > > + bsp_priv->clks);
> > > return ret;
> > > + }
> >
> > Missing a bracket, EBUILD. I almost appreciate seeing a human error like
> > this these days :)
> > --
> > pw-bot: cr
>
> That's what I get for hitting send while my brain was EBUSY. Will fix
> and repost shortly.
I almost appreciate a human brain being involved this these days :-)
Andrew
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails
2026-09-19 17:42 [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails Coia Prant
` (4 preceding siblings ...)
2026-09-23 15:53 ` kernel test robot
@ 2026-09-23 19:22 ` kernel test robot
5 siblings, 0 replies; 9+ messages in thread
From: kernel test robot @ 2026-09-23 19:22 UTC (permalink / raw)
To: Coia Prant, Heiko Stuebner, Maxime Chevallier, Andrew Lunn,
David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
Cc: oe-kbuild-all, Sebastian Reichel, netdev, linux-rockchip,
linux-arm-kernel, linux-kernel, Coia Prant
Hi Coia,
kernel test robot noticed the following build warnings:
[auto build test WARNING on net/main]
url: https://github.com/intel-lab-lkp/linux/commits/Coia-Prant/net-ethernet-stmmac-dwmac-rk-fix-bulk-clock-leak-when-the-PHY-clock-fails/20260920-014223
base: net/main
patch link: https://lore.kernel.org/r/20260919174223.2356964-1-coiaprant%40gmail.com
patch subject: [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails
config: loongarch-allyesconfig (https://download.01.org/0day-ci/archive/20260923/202609232146.QdgAwbzd-lkp@intel.com/config)
compiler: clang version 22.1.8 (https://github.com/llvm/llvm-project ca7933e47d3a3451d81e72ac174dcb5aa28b59d1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260923/202609232146.QdgAwbzd-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609232146.QdgAwbzd-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:1168:5: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
1168 | return ret;
| ^
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:1165:4: note: previous statement is here
1165 | if (ret)
| ^
>> drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:1177:2: warning: non-void function does not return a value in all control paths [-Wreturn-type]
1177 | } else {
| ^
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:1177:4: error: expected identifier or '('
1177 | } else {
| ^
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:1189:2: error: expected identifier or '('
1189 | return 0;
| ^
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:1190:1: error: extraneous closing brace ('}')
1190 | }
| ^
2 warnings and 3 errors generated.
vim +1177 drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
7ad269ea1a2b7d Roger Chen 2014-12-29 1152
7ad269ea1a2b7d Roger Chen 2014-12-29 1153 static int gmac_clk_enable(struct rk_priv_data *bsp_priv, bool enable)
7ad269ea1a2b7d Roger Chen 2014-12-29 1154 {
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1155 int ret;
7ad269ea1a2b7d Roger Chen 2014-12-29 1156
7ad269ea1a2b7d Roger Chen 2014-12-29 1157 if (enable) {
7ad269ea1a2b7d Roger Chen 2014-12-29 1158 if (!bsp_priv->clk_enabled) {
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1159 ret = clk_bulk_prepare_enable(bsp_priv->num_clks,
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1160 bsp_priv->clks);
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1161 if (ret)
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1162 return ret;
7ad269ea1a2b7d Roger Chen 2014-12-29 1163
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1164 ret = clk_prepare_enable(bsp_priv->clk_phy);
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1165 if (ret)
cb278e6780d874 Coia Prant 2026-09-20 1166 clk_bulk_disable_unprepare(bsp_priv->num_clks,
cb278e6780d874 Coia Prant 2026-09-20 1167 bsp_priv->clks);
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1168 return ret;
cb278e6780d874 Coia Prant 2026-09-20 1169 }
23c94d63a7e395 David Wu 2018-06-28 1170
5c1fc7cb81dfed Russell King (Oracle 2026-02-04 1171) rk_configure_io_clksel(bsp_priv);
5c1fc7cb81dfed Russell King (Oracle 2026-02-04 1172) rk_ungate_rmii_clock(bsp_priv);
2f2b60a0ec2826 David Wu 2022-08-30 1173
7ad269ea1a2b7d Roger Chen 2014-12-29 1174 mdelay(5);
7ad269ea1a2b7d Roger Chen 2014-12-29 1175 bsp_priv->clk_enabled = true;
7ad269ea1a2b7d Roger Chen 2014-12-29 1176 }
7ad269ea1a2b7d Roger Chen 2014-12-29 @1177 } else {
7ad269ea1a2b7d Roger Chen 2014-12-29 1178 if (bsp_priv->clk_enabled) {
5c1fc7cb81dfed Russell King (Oracle 2026-02-04 1179) rk_gate_rmii_clock(bsp_priv);
7f864458e9a6d2 Sebastian Reichel 2025-10-14 1180
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1181 clk_bulk_disable_unprepare(bsp_priv->num_clks,
ea449f7fa0bf3f Sebastian Reichel 2023-04-07 1182 bsp_priv->clks);
fecd4d7eef8b21 David Wu 2017-08-10 1183 clk_disable_unprepare(bsp_priv->clk_phy);
fecd4d7eef8b21 David Wu 2017-08-10 1184
7ad269ea1a2b7d Roger Chen 2014-12-29 1185 bsp_priv->clk_enabled = false;
7ad269ea1a2b7d Roger Chen 2014-12-29 1186 }
7ad269ea1a2b7d Roger Chen 2014-12-29 1187 }
7ad269ea1a2b7d Roger Chen 2014-12-29 1188
7ad269ea1a2b7d Roger Chen 2014-12-29 1189 return 0;
7ad269ea1a2b7d Roger Chen 2014-12-29 1190 }
7ad269ea1a2b7d Roger Chen 2014-12-29 1191
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-09-23 19:22 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-19 17:42 [PATCH net] net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails Coia Prant
2026-09-19 20:44 ` Maxime Chevallier
2026-09-20 8:39 ` Lorenzo Bianconi
2026-09-20 21:58 ` Heiko Stübner
2026-09-23 2:17 ` Jakub Kicinski
2026-09-23 12:31 ` Coia Prant
2026-09-23 18:38 ` Andrew Lunn
2026-09-23 15:53 ` kernel test robot
2026-09-23 19:22 ` kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®