+Cc maintainers
09/12/2019 19:23, Mike Manning:
> The check in mlx5_link_update_unlocked_gs() returns -EAGAIN if link
> status does not correspond to link speed. If status is DOWN, the speed
> is expected to be ETH_SPEED_NUM_NONE (0). But as the link speed is -1
> on admin down, modify the check to account for this.
>
> Fixes: cfee94752b8f ("net/mlx5: fix link status to use wait to complete")
> Cc: NĂ©lio Laranjeiro <nelio.laranje...@6wind.com>
>
> Signed-off-by: Mike Manning <mmann...@vyatta.att-mail.com>
> ---
> drivers/net/mlx5/mlx5_ethdev.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
> index d80ae458b..6ef2dfd74 100644
> --- a/drivers/net/mlx5/mlx5_ethdev.c
> +++ b/drivers/net/mlx5/mlx5_ethdev.c
> @@ -1031,8 +1031,8 @@ mlx5_link_update_unlocked_gs(struct rte_eth_dev *dev,
> ETH_LINK_HALF_DUPLEX : ETH_LINK_FULL_DUPLEX);
> dev_link.link_autoneg = !(dev->data->dev_conf.link_speeds &
> ETH_LINK_SPEED_FIXED);
> - if (((dev_link.link_speed && !dev_link.link_status) ||
> - (!dev_link.link_speed && dev_link.link_status))) {
> + if ((((int)dev_link.link_speed > 0 && !dev_link.link_status) ||
> + ((int)dev_link.link_speed <= 0 && dev_link.link_status))) {
> rte_errno = EAGAIN;
> return -rte_errno;
> }
>