myri10ge: fix rmmod crash
authorStanislaw Gruszka <sgruszka@redhat.com>
Wed, 23 Mar 2011 02:44:30 +0000 (02:44 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 23 Mar 2011 19:31:39 +0000 (12:31 -0700)
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>
drivers/net/myri10ge/myri10ge.c

index a7f2eed9a08ac390cdab1e96c477be05aaa1978c..1f4e8680a96a7c8b642e3e750d4132c0766ddc7e 100644 (file)
@@ -3645,6 +3645,7 @@ static void myri10ge_free_slices(struct myri10ge_priv *mgp)
                        dma_free_coherent(&pdev->dev, bytes,
                                          ss->fw_stats, ss->fw_stats_bus);
                        ss->fw_stats = NULL;
+                       netif_napi_del(&ss->napi);
                }
        }
        kfree(mgp->ss);