Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 33a1f8b1 authored by Maor Gottlieb's avatar Maor Gottlieb Committed by David S. Miller
Browse files

net/mlx4_core: Avoid setting ports to auto when only one port type is supported



When only one port type is supported, it should be read only.
We reject changing requests, even to the auto sense mode.

Fixes: 27bf91d6 ("mlx4_core: Add link type autosensing")
Signed-off-by: default avatarMaor Gottlieb <maorg@mellanox.com>
Signed-off-by: default avatarMoshe Shemesh <moshe@mellanox.com>
Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent aa0c08fe
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -1102,6 +1102,14 @@ static int __set_port_type(struct mlx4_port_info *info,
	int i;
	int err = 0;

	if ((port_type & mdev->caps.supported_type[info->port]) != port_type) {
		mlx4_err(mdev,
			 "Requested port type for port %d is not supported on this HCA\n",
			 info->port);
		err = -EINVAL;
		goto err_sup;
	}

	mlx4_stop_sense(mdev);
	mutex_lock(&priv->port_mutex);
	info->tmp_type = port_type;
@@ -1147,7 +1155,7 @@ static int __set_port_type(struct mlx4_port_info *info,
out:
	mlx4_start_sense(mdev);
	mutex_unlock(&priv->port_mutex);

err_sup:
	return err;
}