From: Mohammad Athari Bin Ismail <[email protected]>
An issue found when network interface is down and up again, FPE handshake
fails to trigger. This is due to __FPE_REMOVING bit remains being set in
stmmac_fpe_stop_wq() but not cleared in stmmac_fpe_start_wq(). This
cause FPE workqueue task, stmmac_fpe_lp_task() not able to be executed.
To fix this, add clearing __FPE_REMOVING bit in stmmac_fpe_start_wq().
Fixes: 5a5586112b92 ("net: stmmac: support FPE link partner hand-shaking procedure")
Signed-off-by: Mohammad Athari Bin Ismail <[email protected]>
---
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index a9a984c57d78..e0b7eebcb512 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -3180,6 +3180,7 @@ static int stmmac_fpe_start_wq(struct stmmac_priv *priv)
char *name;
clear_bit(__FPE_TASK_SCHED, &priv->fpe_task_state);
+ clear_bit(__FPE_REMOVING, &priv->fpe_task_state);
name = priv->wq_name;
sprintf(name, "%s-fpe", priv->dev->name);
--
2.17.1
Hello:
This patch was applied to netdev/net.git (refs/heads/master):
On Fri, 30 Apr 2021 07:01:04 +0800 you wrote:
> From: Mohammad Athari Bin Ismail <[email protected]>
>
> An issue found when network interface is down and up again, FPE handshake
> fails to trigger. This is due to __FPE_REMOVING bit remains being set in
> stmmac_fpe_stop_wq() but not cleared in stmmac_fpe_start_wq(). This
> cause FPE workqueue task, stmmac_fpe_lp_task() not able to be executed.
>
> [...]
Here is the summary with links:
- [net] net: stmmac: cleared __FPE_REMOVING bit in stmmac_fpe_start_wq()
https://git.kernel.org/netdev/net/c/db7c691d7f4d
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html