Commit df245dce authored by Alexander Kurz's avatar Alexander Kurz Committed by David S. Miller

net: 3c574_cs fix stats.tx_bytes counter

Update the stats counter calculation in 3c574_cs, similar
to the method used in 3c589_cs. This corrects the contents
of the counter on tests using a "Megahertz 574B" card.

[linux@dominikbrodowski.net: clean up commit message]
Signed-off-by: default avatarAlexander Kurz <linux@kbdbabel.org>
Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent bc8e4b95
...@@ -781,8 +781,13 @@ static netdev_tx_t el3_start_xmit(struct sk_buff *skb, ...@@ -781,8 +781,13 @@ static netdev_tx_t el3_start_xmit(struct sk_buff *skb,
inw(ioaddr + EL3_STATUS)); inw(ioaddr + EL3_STATUS));
spin_lock_irqsave(&lp->window_lock, flags); spin_lock_irqsave(&lp->window_lock, flags);
dev->stats.tx_bytes += skb->len;
/* Put out the doubleword header... */
outw(skb->len, ioaddr + TX_FIFO); outw(skb->len, ioaddr + TX_FIFO);
outw(0, ioaddr + TX_FIFO); outw(0, ioaddr + TX_FIFO);
/* ... and the packet rounded to a doubleword. */
outsl(ioaddr + TX_FIFO, skb->data, (skb->len+3)>>2); outsl(ioaddr + TX_FIFO, skb->data, (skb->len+3)>>2);
dev->trans_start = jiffies; dev->trans_start = jiffies;
...@@ -1021,8 +1026,6 @@ static void update_stats(struct net_device *dev) ...@@ -1021,8 +1026,6 @@ static void update_stats(struct net_device *dev)
/* BadSSD */ inb(ioaddr + 12); /* BadSSD */ inb(ioaddr + 12);
up = inb(ioaddr + 13); up = inb(ioaddr + 13);
dev->stats.tx_bytes += tx + ((up & 0xf0) << 12);
EL3WINDOW(1); EL3WINDOW(1);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment