Skip to content

Commit

Permalink
net: amd-xgbe: add missed tasklet_kill
Browse files Browse the repository at this point in the history
[ Upstream commit d530ece ]

The driver does not call tasklet_kill in several places.
Add the calls to fix it.

Fixes: 85b85c8 ("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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
Jiguang Xiao authored and gregkh committed Jan 12, 2023
1 parent cb2f746 commit 0bec17f
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 2 deletions.
3 changes: 3 additions & 0 deletions drivers/net/ethernet/amd/xgbe/xgbe-drv.c
Expand Up @@ -1064,6 +1064,9 @@ static void xgbe_free_irqs(struct xgbe_prv_data *pdata)

devm_free_irq(pdata->dev, pdata->dev_irq, pdata);

tasklet_kill(&pdata->tasklet_dev);
tasklet_kill(&pdata->tasklet_ecc);

if (pdata->vdata->ecc_support && (pdata->dev_irq != pdata->ecc_irq))
devm_free_irq(pdata->dev, pdata->ecc_irq, pdata);

Expand Down
4 changes: 3 additions & 1 deletion drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
Expand Up @@ -447,8 +447,10 @@ static void xgbe_i2c_stop(struct xgbe_prv_data *pdata)
xgbe_i2c_disable(pdata);
xgbe_i2c_clear_all_interrupts(pdata);

if (pdata->dev_irq != pdata->i2c_irq)
if (pdata->dev_irq != pdata->i2c_irq) {
devm_free_irq(pdata->dev, pdata->i2c_irq, pdata);
tasklet_kill(&pdata->tasklet_i2c);
}
}

static int xgbe_i2c_start(struct xgbe_prv_data *pdata)
Expand Down
4 changes: 3 additions & 1 deletion drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
Expand Up @@ -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);

Expand Down

0 comments on commit 0bec17f

Please sign in to comment.