[PATCH net-next] net: dsa: motorcomm: Stop MIB poll on link down
From: David Yang
Date: Sun Nov 08 2026 - 05:43:07 EST
The poll re-arms itself unconditionally, and link down only cancels the
work non-sync, so a poll caught running kept polling every few seconds
while the link was down.
Cancel the work synchronously so that the re-arm from a running poll is
rejected.
Not carrying a fix tag - the existing behavior is harmless nevertheless.
Signed-off-by: David Yang <mmyangfl@xxxxxxxxx>
---
drivers/net/dsa/motorcomm/chip.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/dsa/motorcomm/chip.c b/drivers/net/dsa/motorcomm/chip.c
index 33e5fc127244..758599ba0957 100644
--- a/drivers/net/dsa/motorcomm/chip.c
+++ b/drivers/net/dsa/motorcomm/chip.c
@@ -1837,10 +1837,9 @@ yt921x_phylink_mac_link_down(struct phylink_config *config, unsigned int mode,
int port = dp->index;
int res;
- /* No need to sync; port control block is hold until device remove */
pm = priv->ports[port].mib;
if (pm)
- cancel_delayed_work(&pm->work);
+ cancel_delayed_work_sync(&pm->work);
mutex_lock(&priv->reg_lock);
res = yt921x_port_down(priv, port);
--
2.53.0