The port down state was not initialized in the error branch of link detection when MLX NIC link status update failed (ret < 0). This resulted in incorrect link state reporting, as the device retained stale link status instead of reflecting the actual down state under error conditions. Fixes: 1256805dd54 ("net/mlx5: move Linux-specific functions") Cc: stable@dpdk.org Signed-off-by: Yang Xu --- .mailmap | 1 + drivers/net/mlx5/linux/mlx5_ethdev_os.c | 1 + 2 files changed, 2 insertions(+) diff --git a/.mailmap b/.mailmap index 34a99f93a1..14d6ee93dd 100644 --- a/.mailmap +++ b/.mailmap @@ -1891,3 +1891,4 @@ Zoltan Kiss Zorik Machulsky Zyta Szpak Zyta Szpak +Yang Xu diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c index 9daeda5435..49b88dfebb 100644 --- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c +++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c @@ -504,6 +504,7 @@ mlx5_link_update(struct rte_eth_dev *dev, int wait_to_complete) return -rte_errno; } } else if (ret < 0) { + memset(&dev->data->dev_link, 0, sizeof(dev->data->dev_link)); return ret; } } while (wait_to_complete || retry-- > 0); -- 2.27.0