diff options
Diffstat (limited to 'drivers/net/ethernet/emulex/benet/be_main.c')
| -rw-r--r-- | drivers/net/ethernet/emulex/benet/be_main.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index 08efd308d78..fdb50cec6b5 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c @@ -736,6 +736,8 @@ static netdev_tx_t be_xmit(struct sk_buff *skb,  	copied = make_tx_wrbs(adapter, txq, skb, wrb_cnt, dummy_wrb);  	if (copied) { +		int gso_segs = skb_shinfo(skb)->gso_segs; +  		/* record the sent skb in the sent_skb table */  		BUG_ON(txo->sent_skb_list[start]);  		txo->sent_skb_list[start] = skb; @@ -753,8 +755,7 @@ static netdev_tx_t be_xmit(struct sk_buff *skb,  		be_txq_notify(adapter, txq->id, wrb_cnt); -		be_tx_stats_update(txo, wrb_cnt, copied, -				skb_shinfo(skb)->gso_segs, stopped); +		be_tx_stats_update(txo, wrb_cnt, copied, gso_segs, stopped);  	} else {  		txq->head = start;  		dev_kfree_skb_any(skb);  |