Skip to content

Commit

Permalink
[PATCH] mv643xx_eth: Fix transmit skb accounting
Browse files Browse the repository at this point in the history
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>

 mv643xx_eth.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
  • Loading branch information
Dale Farnsworth authored and Jeff Garzik committed Jan 17, 2006
1 parent 6389057 commit 4476e0e
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/net/mv643xx_eth.c
Original file line number Diff line number Diff line change
Expand Up @@ -889,14 +889,17 @@ static void mv643xx_eth_free_tx_rings(struct net_device *dev)
struct mv643xx_private *mp = netdev_priv(dev);
unsigned int port_num = mp->port_num;
unsigned int curr;
struct sk_buff *skb;

/* Stop Tx Queues */
mv_write(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(port_num), 0x0000ff00);

/* Free outstanding skb's on TX rings */
for (curr = 0; mp->tx_ring_skbs && curr < mp->tx_ring_size; curr++) {
if (mp->tx_skb[curr]) {
dev_kfree_skb(mp->tx_skb[curr]);
skb = mp->tx_skb[curr];
if (skb) {
mp->tx_ring_skbs -= skb_shinfo(skb)->nr_frags;
dev_kfree_skb(skb);
mp->tx_ring_skbs--;
}
}
Expand Down

0 comments on commit 4476e0e

Please sign in to comment.