summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
diff options
context:
space:
mode:
authorJiguang Xiao <jiguang.xiao@windriver.com>2022-12-28 09:14:47 +0100
committerDavid S. Miller <davem@davemloft.net>2022-12-30 08:33:05 +0100
commitd530ece70f16f912e1d1bfeea694246ab78b0a4b (patch)
treeae80d3654dcc701ec7118d2414b731238f6632a7 /drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
parentnet: hns3: refine the handling for VF heartbeat (diff)
downloadlinux-d530ece70f16f912e1d1bfeea694246ab78b0a4b.tar.xz
linux-d530ece70f16f912e1d1bfeea694246ab78b0a4b.zip
net: amd-xgbe: add missed tasklet_kill
The driver does not call tasklet_kill in several places. Add the calls to fix it. Fixes: 85b85c853401 ("amd-xgbe: Re-issue interrupt if interrupt status not cleared") Signed-off-by: Jiguang Xiao <jiguang.xiao@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/amd/xgbe/xgbe-mdio.c')
-rw-r--r--drivers/net/ethernet/amd/xgbe/xgbe-mdio.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c b/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
index 4e97b4869522..0c5c1b155683 100644
--- a/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
+++ b/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
@@ -1390,8 +1390,10 @@ static void xgbe_phy_stop(struct xgbe_prv_data *pdata)
/* Disable auto-negotiation */
xgbe_an_disable_all(pdata);
- if (pdata->dev_irq != pdata->an_irq)
+ if (pdata->dev_irq != pdata->an_irq) {
devm_free_irq(pdata->dev, pdata->an_irq, pdata);
+ tasklet_kill(&pdata->tasklet_an);
+ }
pdata->phy_if.phy_impl.stop(pdata);