net/mlx5e: Use skb_shinfo(skb)->gso_segs rather than counting them
authorSaeed Mahameed <saeedm@mellanox.com>
Tue, 23 Jun 2015 14:14:15 +0000 (17:14 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Jun 2015 07:42:35 +0000 (00:42 -0700)
Instead of counting number of gso fragments, we can use
skb_shinfo(skb)->gso_segs.

Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c

index 471babd..c0566b6 100644 (file)
@@ -143,16 +143,13 @@ static netdev_tx_t mlx5e_sq_xmit(struct mlx5e_sq *sq, struct sk_buff *skb)
 
        if (skb_is_gso(skb)) {
                u32 payload_len;
-               int num_pkts;
 
                eseg->mss    = cpu_to_be16(skb_shinfo(skb)->gso_size);
                opcode       = MLX5_OPCODE_LSO;
                ihs          = skb_transport_offset(skb) + tcp_hdrlen(skb);
                payload_len  = skb->len - ihs;
-               num_pkts     =    (payload_len / skb_shinfo(skb)->gso_size) +
-                               !!(payload_len % skb_shinfo(skb)->gso_size);
                MLX5E_TX_SKB_CB(skb)->num_bytes = skb->len +
-                                                 (num_pkts - 1) * ihs;
+                                       (skb_shinfo(skb)->gso_segs - 1) * ihs;
                sq->stats.tso_packets++;
                sq->stats.tso_bytes += payload_len;
        } else {