projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/mlx4_core: Avoid setting ports to auto when only one port type is supported
[cascardo/linux.git]
/
drivers
/
net
/
ethernet
/
mellanox
/
mlx4
/
main.c
diff --git
a/drivers/net/ethernet/mellanox/mlx4/main.c
b/drivers/net/ethernet/mellanox/mlx4/main.c
index
7183ac4
..
6f4e67b
100644
(file)
--- a/
drivers/net/ethernet/mellanox/mlx4/main.c
+++ b/
drivers/net/ethernet/mellanox/mlx4/main.c
@@
-1102,6
+1102,14
@@
static int __set_port_type(struct mlx4_port_info *info,
int i;
int err = 0;
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;
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);
out:
mlx4_start_sense(mdev);
mutex_unlock(&priv->port_mutex);
-
+err_sup:
return err;
}
return err;
}