diff options
-rw-r--r-- | drivers/net/amd8111e.c | 9 |
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 | */ |
645 | static void amd8111e_free_ring(struct amd8111e_priv* lp) | 645 | static 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); |