Message ID | 20240730061638.1831002-9-tariqt@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 3f8e82a020a5c22f9b791f4ac499b8e18007fbda |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | mlx5 misc fixes 2024-07-30 | expand |
On 30.07.2024 08:16, Tariq Toukan wrote: > From: Shahar Shitrit <shshitrit@nvidia.com> > > Since the documentation for mlx5_toggle_port_link states that it should > only be used after setting the port register, we add a check for the > return value from mlx5_port_set_eth_ptys to ensure the register was > successfully set before calling it. > > Fixes: 667daedaecd1 ("net/mlx5e: Toggle link only after modifying port parameters") > Signed-off-by: Shahar Shitrit <shshitrit@nvidia.com> > Reviewed-by: Carolina Jubran <cjubran@nvidia.com> > Signed-off-by: Tariq Toukan <tariqt@nvidia.com> > --- Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com> > drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c > index 00d5661dc62e..36845872ae94 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c > @@ -1409,7 +1409,12 @@ static int mlx5e_ethtool_set_link_ksettings(struct mlx5e_priv *priv, > if (!an_changes && link_modes == eproto.admin) > goto out; > > - mlx5_port_set_eth_ptys(mdev, an_disable, link_modes, ext); > + err = mlx5_port_set_eth_ptys(mdev, an_disable, link_modes, ext); > + if (err) { > + netdev_err(priv->netdev, "%s: failed to set ptys reg: %d\n", __func__, err); > + goto out; > + } > + > mlx5_toggle_port_link(mdev); > > out:
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c index 00d5661dc62e..36845872ae94 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c @@ -1409,7 +1409,12 @@ static int mlx5e_ethtool_set_link_ksettings(struct mlx5e_priv *priv, if (!an_changes && link_modes == eproto.admin) goto out; - mlx5_port_set_eth_ptys(mdev, an_disable, link_modes, ext); + err = mlx5_port_set_eth_ptys(mdev, an_disable, link_modes, ext); + if (err) { + netdev_err(priv->netdev, "%s: failed to set ptys reg: %d\n", __func__, err); + goto out; + } + mlx5_toggle_port_link(mdev); out: