mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-27 04:54:41 +08:00
net/macb: fix misplaced call of free_netdev() in macb_remove()
fix a bug introduced by the multiqueue support patch: "net/macb: add TX multiqueue support for gem" the "bp" pointer to the netdev private data was dereferenced and used after the associated memory had been freed by calling free_netdev(). Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6ff4a8ad4b
commit
e965be7d17
@ -2408,11 +2408,11 @@ static int __exit macb_remove(struct platform_device *pdev)
|
|||||||
queue = bp->queues;
|
queue = bp->queues;
|
||||||
for (q = 0; q < bp->num_queues; ++q, ++queue)
|
for (q = 0; q < bp->num_queues; ++q, ++queue)
|
||||||
devm_free_irq(&pdev->dev, queue->irq, queue);
|
devm_free_irq(&pdev->dev, queue->irq, queue);
|
||||||
free_netdev(dev);
|
|
||||||
if (!IS_ERR(bp->tx_clk))
|
if (!IS_ERR(bp->tx_clk))
|
||||||
clk_disable_unprepare(bp->tx_clk);
|
clk_disable_unprepare(bp->tx_clk);
|
||||||
clk_disable_unprepare(bp->hclk);
|
clk_disable_unprepare(bp->hclk);
|
||||||
clk_disable_unprepare(bp->pclk);
|
clk_disable_unprepare(bp->pclk);
|
||||||
|
free_netdev(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user