git: 60bb6c368e3c - stable/15 - mlx5en: guard against empty eth_proto_oper mask

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Mon, 06 Jul 2026 01:43:05 UTC
The branch stable/15 has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=60bb6c368e3cc03e9377f2af320d182c985bdb11

commit 60bb6c368e3cc03e9377f2af320d182c985bdb11
Author:     Slava Shwartsman <slavash@nvidia.com>
AuthorDate: 2026-06-10 16:43:08 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-07-06 01:35:52 +0000

    mlx5en: guard against empty eth_proto_oper mask
    
    (cherry picked from commit 17cf7760a98a87c33d0415e2d2e1d4b24dd69e4d)
---
 sys/dev/mlx5/mlx5_en/mlx5_en_main.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
index f5d4c4d23cbe..7cfbeb106952 100644
--- a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
+++ b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
@@ -445,9 +445,16 @@ mlx5e_update_carrier(struct mlx5e_priv *priv)
 	ext = MLX5_CAP_PCAM_FEATURE(mdev, ptys_extended_ethernet);
 	eth_proto_oper = MLX5_GET_ETH_PROTO(ptys_reg, out, ext,
 	    eth_proto_oper);
+	if (eth_proto_oper == 0) {
+		priv->media_active_last = IFM_ETHER;
+		if_setbaudrate(priv->ifp, 1);
+		mlx5_en_err(priv->ifp, "eth_proto_oper is 0\n");
+		return;
+	}
 	connector_type = MLX5_GET(ptys_reg, out, connector_type);
 	if (connector_type >= MLX5E_CONNECTOR_TYPE_NUMBER)
 		connector_type = MLX5E_PORT_UNKNOWN;
+
 	i = ilog2(eth_proto_oper);
 
 	if (ext) {