diff options
author | Stanislaw Gruszka <sgruszka@redhat.com> | 2011-03-22 22:44:30 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-03-23 15:31:39 -0400 |
commit | cda6587c21a887254c8ed4b58da8fcc4040ab557 (patch) | |
tree | f92a7640fedc4684f37e91116cbb66d38b9c9b52 /drivers/net/myri10ge/myri10ge.c | |
parent | 61b85bf6060bfd205c218f5aeb71c19a24abb0cd (diff) |
myri10ge: fix rmmod crash
Rmmod myri10ge crash at free_netdev() -> netif_napi_del(), because napi
structures are already deallocated. To fix call netif_napi_del() before
kfree() at myri10ge_free_slices().
Cc: stable@kernel.org
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/myri10ge/myri10ge.c')
-rw-r--r-- | drivers/net/myri10ge/myri10ge.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c index a7f2eed9a08a..1f4e8680a96a 100644 --- a/drivers/net/myri10ge/myri10ge.c +++ b/drivers/net/myri10ge/myri10ge.c | |||
@@ -3645,6 +3645,7 @@ static void myri10ge_free_slices(struct myri10ge_priv *mgp) | |||
3645 | dma_free_coherent(&pdev->dev, bytes, | 3645 | dma_free_coherent(&pdev->dev, bytes, |
3646 | ss->fw_stats, ss->fw_stats_bus); | 3646 | ss->fw_stats, ss->fw_stats_bus); |
3647 | ss->fw_stats = NULL; | 3647 | ss->fw_stats = NULL; |
3648 | netif_napi_del(&ss->napi); | ||
3648 | } | 3649 | } |
3649 | } | 3650 | } |
3650 | kfree(mgp->ss); | 3651 | kfree(mgp->ss); |