Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc484851 authored by Tariq Toukan's avatar Tariq Toukan Committed by David S. Miller
Browse files

net/mlx4_en: RX csum, reorder branches



Use early goto commands, and save else branches.
This uses less indentations and brackets, making the code
more readable.

Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 345ef18c
Loading
Loading
Loading
Loading
+21 −25
Original line number Diff line number Diff line
@@ -816,39 +816,35 @@ 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));
				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 {
					goto csum_none;
				}
			} else {
				if (priv->flags & MLX4_EN_FLAG_RX_CSUM_NON_TCP_UDP &&
				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 {
				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 {
					goto csum_none;
				}
			}
		} else {
csum_none:
			ip_summed = CHECKSUM_NONE;
			hash_type = PKT_HASH_TYPE_L3;