Commit 0b4f5add authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'mlx5-fixes'



Tariq Toukan says:

====================
mlx5 fixes 24-05-22

This patchset provides bug fixes to mlx5 core and Eth drivers.

Series generated against:
commit 9c91c7fa ("net: mana: Fix the extra HZ in mana_hwc_send_request")
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 128d54fb 83fea49f
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -102,8 +102,14 @@ static inline void
mlx5e_udp_gso_handle_tx_skb(struct sk_buff *skb)
{
	int payload_len = skb_shinfo(skb)->gso_size + sizeof(struct udphdr);
	struct udphdr *udphdr;

	udp_hdr(skb)->len = htons(payload_len);
	if (skb->encapsulation)
		udphdr = (struct udphdr *)skb_inner_transport_header(skb);
	else
		udphdr = udp_hdr(skb);

	udphdr->len = htons(payload_len);
}

struct mlx5e_accel_tx_state {
+1 −2
Original line number Diff line number Diff line
@@ -750,8 +750,7 @@ static int rx_create(struct mlx5_core_dev *mdev, struct mlx5e_ipsec *ipsec,
err_fs_ft:
	if (rx->allow_tunnel_mode)
		mlx5_eswitch_unblock_encap(mdev);
	mlx5_del_flow_rules(rx->status.rule);
	mlx5_modify_header_dealloc(mdev, rx->status.modify_hdr);
	mlx5_ipsec_rx_status_destroy(ipsec, rx);
err_add:
	mlx5_destroy_flow_table(rx->ft.status);
err_fs_ft_status:
+5 −12
Original line number Diff line number Diff line
@@ -97,18 +97,11 @@ mlx5e_ipsec_feature_check(struct sk_buff *skb, netdev_features_t features)
		if (!x || !x->xso.offload_handle)
			goto out_disable;

		if (xo->inner_ipproto) {
			/* Cannot support tunnel packet over IPsec tunnel mode
			 * because we cannot offload three IP header csum
			 */
			if (x->props.mode == XFRM_MODE_TUNNEL)
				goto out_disable;

		/* Only support UDP or TCP L4 checksum */
			if (xo->inner_ipproto != IPPROTO_UDP &&
		if (xo->inner_ipproto &&
		    xo->inner_ipproto != IPPROTO_UDP &&
		    xo->inner_ipproto != IPPROTO_TCP)
			goto out_disable;
		}

		return features;

+1 −1
Original line number Diff line number Diff line
@@ -3886,7 +3886,7 @@ mlx5e_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats)
		mlx5e_fold_sw_stats64(priv, stats);
	}

	stats->rx_dropped = priv->stats.qcnt.rx_out_of_buffer;
	stats->rx_missed_errors = priv->stats.qcnt.rx_out_of_buffer;

	stats->rx_length_errors =
		PPORT_802_3_GET(pstats, a_in_range_length_errors) +
+4 −0
Original line number Diff line number Diff line
@@ -1186,6 +1186,9 @@ void mlx5e_stats_ts_get(struct mlx5e_priv *priv,
		ts_stats->err = 0;
		ts_stats->lost = 0;

		if (!ptp)
			goto out;

		/* Aggregate stats across all TCs */
		for (i = 0; i < ptp->num_tc; i++) {
			struct mlx5e_ptp_cq_stats *stats =
@@ -1214,6 +1217,7 @@ void mlx5e_stats_ts_get(struct mlx5e_priv *priv,
		}
	}

out:
	mutex_unlock(&priv->state_lock);
}

Loading