Monday, February 5, 2018 2:29 PM, Nélio Laranjeiro: > Subject: Re: [PATCH] net/mlx5: fix link speed > > On Mon, Feb 05, 2018 at 08:01:44PM +0800, Yuanhan Liu wrote: > > When the link is down, mlx5 kernel driver reports the link speed as -1 > > (UNKNOWN_SPEED). We need turn it to 0 for such case, otherwise, it > > will be re-queried again due to the link_speed is not 0, due to > > following > > code: > > > > 1201 if (((link->link_speed == 0) && link->link_status) || > > 1202 ((link->link_speed != 0) && !link->link_status)) { > > 1203 /* > > 1204 * Inconsistent status. Event likely occurred before the > > 1205 * kernel netdevice exposes the new status. > > 1206 */ > > > > Fixes: 188408719888 ("net/mlx5: fix support for newer link speeds") > > > > Cc: sta...@dpdk.org > > Signed-off-by: Yuanhan Liu <y...@fridaylinux.org> > > Acked-by: Nelio Laranjeiro <nelio.laranje...@6wind.com> > > > --- > > drivers/net/mlx5/mlx5_ethdev.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/drivers/net/mlx5/mlx5_ethdev.c > > b/drivers/net/mlx5/mlx5_ethdev.c index 6665076..492ca07 100644 > > --- a/drivers/net/mlx5/mlx5_ethdev.c > > +++ b/drivers/net/mlx5/mlx5_ethdev.c > > @@ -808,6 +808,10 @@ mlx5_link_update_unlocked_gs(struct > rte_eth_dev *dev, int wait_to_complete) > > return -1; > > } > > dev_link.link_speed = ecmd->speed; > > + if (link_speed == -1)
Looks like link_speed is not defined (code is not compiling). > > + dev_link.link_speed = 0; > > + else > > + dev_link.link_speed = link_speed; > > sc = ecmd->link_mode_masks[0] | > > ((uint64_t)ecmd->link_mode_masks[1] << 32); > > priv->link_speed_capa = 0; > > -- > > 2.7.4 > > > > Thanks, > > -- > Nélio Laranjeiro > 6WIND