Skip to content

Commit

Permalink
ixgbevf: fix handling of tx checksumming
Browse files Browse the repository at this point in the history
This patch resolves an issue introduced by:
commit 7ad1a09
ixgbevf: make the first tx_buffer a repository for most of the skb info

Incorrect check for the result of ixgbevf_tso() can lead to calling
ixgbevf_tx_csum() which can spawn 2 context descriptors and result in
performance degradation and/or corrupted packets.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Emil Tantilov authored and David S. Miller committed Feb 28, 2014
1 parent c97506a commit b5d217f
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -3155,7 +3155,7 @@ static int ixgbevf_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
tso = ixgbevf_tso(tx_ring, first, &hdr_len);
if (tso < 0)
goto out_drop;
else
else if (!tso)
ixgbevf_tx_csum(tx_ring, first);

ixgbevf_tx_map(tx_ring, first, hdr_len);
Expand Down

0 comments on commit b5d217f

Please sign in to comment.