2021-11-19 02:55:27

by Li, Meng

[permalink] [raw]
Subject: [PATCH 0/6] backport patches to improve clocks management for stmmac driver

From: Meng Li <[email protected]>

In stable kernel v5.10, when run below command to remove ethernet driver on
stratix10 platform, there will be warning trace as below:

$ cd /sys/class/net/eth0/device/driver/
$ echo ff800000.ethernet > unbind

WARNING: CPU: 3 PID: 386 at drivers/clk/clk.c:810 clk_core_unprepare+0x114/0x274
Modules linked in: sch_fq_codel
CPU: 3 PID: 386 Comm: sh Tainted: G W 5.10.74-yocto-standard #1
Hardware name: SoCFPGA Stratix 10 SoCDK (DT)
pstate: 00000005 (nzcv daif -PAN -UAO -TCO BTYPE=--)
pc : clk_core_unprepare+0x114/0x274
lr : clk_core_unprepare+0x114/0x274
sp : ffff800011bdbb10
clk_core_unprepare+0x114/0x274
clk_unprepare+0x38/0x50
stmmac_remove_config_dt+0x40/0x80
stmmac_pltfr_remove+0x64/0x80
platform_drv_remove+0x38/0x60
... ..
el0_sync_handler+0x1a4/0x1b0
el0_sync+0x180/0x1c0
This issue is introduced by introducing upstream commit 8f269102baf7
("net: stmmac: disable clocks in stmmac_remove_config_dt()")

But in latest mainline kernel, there is no this issue. Because commit
5ec55823438e("net: stmmac: add clocks management for gmac driver") and its
folowing fixing commits improved clocks management for stmmac driver.
Therefore, backport them to stable kernel v5.10.


Joakim Zhang (2):
net: stmmac: add clocks management for gmac driver
net: stmmac: fix system hang if change mac address after interface
ifdown

Michael Riesch (1):
net: stmmac: dwmac-rk: fix unbalanced pm_runtime_enable warnings

Wei Yongjun (1):
net: stmmac: platform: fix build error with !CONFIG_PM_SLEEP

Wong Vee Khee (1):
net: stmmac: fix issue where clk is being unprepared twice

Yang Yingliang (1):
net: stmmac: fix missing unlock on error in stmmac_suspend()

.../net/ethernet/stmicro/stmmac/dwmac-rk.c | 9 --
drivers/net/ethernet/stmicro/stmmac/stmmac.h | 1 +
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 87 ++++++++++++--
.../net/ethernet/stmicro/stmmac/stmmac_mdio.c | 111 ++++++++++++++----
.../ethernet/stmicro/stmmac/stmmac_platform.c | 30 ++++-
5 files changed, 187 insertions(+), 51 deletions(-)

--
2.17.1



2021-11-19 02:56:07

by Li, Meng

[permalink] [raw]
Subject: [PATCH 3/6] net: stmmac: fix missing unlock on error in stmmac_suspend()

From: Yang Yingliang <[email protected]>

commit 30f347ae7cc1178c431f968a89d4b4a375bc0d39 upstream

Add the missing unlock before return from stmmac_suspend()
in the error handling case.

Fixes: 5ec55823438e ("net: stmmac: add clocks management for gmac driver")
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Yang Yingliang <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Meng Li <[email protected]>
---
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 498962c4b59e..51626edc6a4c 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -5275,8 +5275,10 @@ int stmmac_suspend(struct device *dev)
/* Disable clock in case of PWM is off */
clk_disable_unprepare(priv->plat->clk_ptp_ref);
ret = pm_runtime_force_suspend(dev);
- if (ret)
+ if (ret) {
+ mutex_unlock(&priv->lock);
return ret;
+ }
}
mutex_unlock(&priv->lock);

--
2.17.1


2021-11-19 13:29:40

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH 0/6] backport patches to improve clocks management for stmmac driver

On Fri, Nov 19, 2021 at 10:53:53AM +0800, Meng Li wrote:
> From: Meng Li <[email protected]>
>
> In stable kernel v5.10, when run below command to remove ethernet driver on
> stratix10 platform, there will be warning trace as below:
>
> $ cd /sys/class/net/eth0/device/driver/
> $ echo ff800000.ethernet > unbind
>
> WARNING: CPU: 3 PID: 386 at drivers/clk/clk.c:810 clk_core_unprepare+0x114/0x274
> Modules linked in: sch_fq_codel
> CPU: 3 PID: 386 Comm: sh Tainted: G W 5.10.74-yocto-standard #1
> Hardware name: SoCFPGA Stratix 10 SoCDK (DT)
> pstate: 00000005 (nzcv daif -PAN -UAO -TCO BTYPE=--)
> pc : clk_core_unprepare+0x114/0x274
> lr : clk_core_unprepare+0x114/0x274
> sp : ffff800011bdbb10
> clk_core_unprepare+0x114/0x274
> clk_unprepare+0x38/0x50
> stmmac_remove_config_dt+0x40/0x80
> stmmac_pltfr_remove+0x64/0x80
> platform_drv_remove+0x38/0x60
> ... ..
> el0_sync_handler+0x1a4/0x1b0
> el0_sync+0x180/0x1c0
> This issue is introduced by introducing upstream commit 8f269102baf7
> ("net: stmmac: disable clocks in stmmac_remove_config_dt()")
>
> But in latest mainline kernel, there is no this issue. Because commit
> 5ec55823438e("net: stmmac: add clocks management for gmac driver") and its
> folowing fixing commits improved clocks management for stmmac driver.
> Therefore, backport them to stable kernel v5.10.
>

All now queued up, thanks.

greg k-h