diff options
author | David S. Miller <davem@davemloft.net> | 2008-10-30 23:50:18 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-10-30 23:50:18 -0700 |
commit | 194dcdba5a11a0238aef7ed91f32df77cb31505b (patch) | |
tree | ad9b2e763d702ab59d176f3acc57dbb200afdad1 /drivers/net/amd8111e.c | |
parent | 19b8cba2e8539e3b8022316f94837d8f242b8f80 (diff) | |
parent | bdb59f949d663b7e943fb5f40b2557af4314abf9 (diff) |
Merge branch 'davem-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
Diffstat (limited to 'drivers/net/amd8111e.c')
-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. */ static void amd8111e_free_ring(struct amd8111e_priv* lp) { - - /* Free transmit and receive skbs */ - amd8111e_free_skbs(lp->amd8111e_net_dev); - /* Free transmit and receive descriptor rings */ if(lp->rx_ring){ pci_free_consistent(lp->pci_dev, @@ -1233,7 +1229,9 @@ static int amd8111e_close(struct net_device * dev) amd8111e_disable_interrupt(lp); amd8111e_stop_chip(lp); - amd8111e_free_ring(lp); + + /* Free transmit and receive skbs */ + amd8111e_free_skbs(lp->amd8111e_net_dev); netif_carrier_off(lp->amd8111e_net_dev); @@ -1243,6 +1241,7 @@ static int amd8111e_close(struct net_device * dev) spin_unlock_irq(&lp->lock); free_irq(dev->irq, dev); + amd8111e_free_ring(lp); /* Update the statistics before closing */ amd8111e_get_stats(dev); |