aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/amd8111e.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/amd8111e.c b/drivers/net/amd8111e.c
index ba1be0b3a8c8..07a6697e3635 100644
--- a/drivers/net/amd8111e.c
+++ b/drivers/net/amd8111e.c
@@ -644,10 +644,6 @@ This function frees the transmiter and receiver descriptor rings.
644*/ 644*/
645static void amd8111e_free_ring(struct amd8111e_priv* lp) 645static void amd8111e_free_ring(struct amd8111e_priv* lp)
646{ 646{
647
648 /* Free transmit and receive skbs */
649 amd8111e_free_skbs(lp->amd8111e_net_dev);
650
651 /* Free transmit and receive descriptor rings */ 647 /* Free transmit and receive descriptor rings */
652 if(lp->rx_ring){ 648 if(lp->rx_ring){
653 pci_free_consistent(lp->pci_dev, 649 pci_free_consistent(lp->pci_dev,
@@ -1233,7 +1229,9 @@ static int amd8111e_close(struct net_device * dev)
1233 1229
1234 amd8111e_disable_interrupt(lp); 1230 amd8111e_disable_interrupt(lp);
1235 amd8111e_stop_chip(lp); 1231 amd8111e_stop_chip(lp);
1236 amd8111e_free_ring(lp); 1232
1233 /* Free transmit and receive skbs */
1234 amd8111e_free_skbs(lp->amd8111e_net_dev);
1237 1235
1238 netif_carrier_off(lp->amd8111e_net_dev); 1236 netif_carrier_off(lp->amd8111e_net_dev);
1239 1237
@@ -1243,6 +1241,7 @@ static int amd8111e_close(struct net_device * dev)
1243 1241
1244 spin_unlock_irq(&lp->lock); 1242 spin_unlock_irq(&lp->lock);
1245 free_irq(dev->irq, dev); 1243 free_irq(dev->irq, dev);
1244 amd8111e_free_ring(lp);
1246 1245
1247 /* Update the statistics before closing */ 1246 /* Update the statistics before closing */
1248 amd8111e_get_stats(dev); 1247 amd8111e_get_stats(dev);