]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
net/mlx4_en: RX csum, reorder branches
authorTariq Toukan <tariqt@mellanox.com>
Thu, 28 Dec 2017 14:26:09 +0000 (16:26 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 28 Dec 2017 17:24:05 +0000 (12:24 -0500)
Use early goto commands, and save else branches.
This uses less indentations and brackets, making the code
more readable.

Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_rx.c

index 680bd3fbaa60da0eb1770846a2efcd4f9b8427ff..5f9dbc9a7f5b3878628ed6922be54cdfd84bcc68 100644 (file)
@@ -816,37 +816,33 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
                if (likely(dev->features & NETIF_F_RXCSUM)) {
                        if (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_TCP |
                                                      MLX4_CQE_STATUS_UDP)) {
-                               if ((cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPOK)) &&
-                                   cqe->checksum == cpu_to_be16(0xffff)) {
-                                       bool l2_tunnel = (dev->hw_enc_features & NETIF_F_RXCSUM) &&
-                                               (cqe->vlan_my_qpn & cpu_to_be32(MLX4_CQE_L2_TUNNEL));
-
-                                       ip_summed = CHECKSUM_UNNECESSARY;
-                                       hash_type = PKT_HASH_TYPE_L4;
-                                       if (l2_tunnel)
-                                               skb->csum_level = 1;
-                                       ring->csum_ok++;
-                               } else {
+                               bool l2_tunnel;
+
+                               if (!((cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPOK)) &&
+                                     cqe->checksum == cpu_to_be16(0xffff)))
                                        goto csum_none;
-                               }
+
+                               l2_tunnel = (dev->hw_enc_features & NETIF_F_RXCSUM) &&
+                                       (cqe->vlan_my_qpn & cpu_to_be32(MLX4_CQE_L2_TUNNEL));
+                               ip_summed = CHECKSUM_UNNECESSARY;
+                               hash_type = PKT_HASH_TYPE_L4;
+                               if (l2_tunnel)
+                                       skb->csum_level = 1;
+                               ring->csum_ok++;
                        } else {
-                               if (priv->flags & MLX4_EN_FLAG_RX_CSUM_NON_TCP_UDP &&
-                                   (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPV4 |
+                               if (!(priv->flags & MLX4_EN_FLAG_RX_CSUM_NON_TCP_UDP &&
+                                     (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPV4 |
 #if IS_ENABLED(CONFIG_IPV6)
-                                                              MLX4_CQE_STATUS_IPV6))) {
+                                                                MLX4_CQE_STATUS_IPV6))))
 #else
-                                                              0))) {
+                                                                0))))
 #endif
-                                       if (check_csum(cqe, skb, va, dev->features)) {
-                                               goto csum_none;
-                                       } else {
-                                               ip_summed = CHECKSUM_COMPLETE;
-                                               hash_type = PKT_HASH_TYPE_L3;
-                                               ring->csum_complete++;
-                                       }
-                               } else {
                                        goto csum_none;
-                               }
+                               if (check_csum(cqe, skb, va, dev->features))
+                                       goto csum_none;
+                               ip_summed = CHECKSUM_COMPLETE;
+                               hash_type = PKT_HASH_TYPE_L3;
+                               ring->csum_complete++;
                        }
                } else {
 csum_none: