Browse Source

r8152: fix tx packets accounting

r8152 driver handles TSO packets (limited to ~16KB) quite well,
but pretends each TSO logical packet is a single packet on the wire.

There is also some error since headers are accounted once, but
error rate is small enough that we do not care.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Eric Dumazet 7 years ago
parent
commit
4c27bf3c5b
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/net/usb/r8152.c

+ 1 - 1
drivers/net/usb/r8152.c

@@ -1794,7 +1794,7 @@ static int r8152_tx_agg_fill(struct r8152 *tp, struct tx_agg *agg)
 
 
 		tx_data += len;
 		tx_data += len;
 		agg->skb_len += len;
 		agg->skb_len += len;
-		agg->skb_num++;
+		agg->skb_num += skb_shinfo(skb)->gso_segs ?: 1;
 
 
 		dev_kfree_skb_any(skb);
 		dev_kfree_skb_any(skb);