net/mlx4_core: Fix return codes of unsupported operations
authorErez Alfasi <ereza@mellanox.com>
Sun, 2 Dec 2018 15:40:25 +0000 (17:40 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Dec 2019 09:41:22 +0000 (10:41 +0100)
[ Upstream commit 95aac2cdafd8c8298c9b2589c52f44db0d824e0e ]

Functions __set_port_type and mlx4_check_port_params returned
-EINVAL while the proper return code is -EOPNOTSUPP as a
result of an unsupported operation. All drivers should generate
this and all users should check for it when detecting an
unsupported functionality.

Signed-off-by: Erez Alfasi <ereza@mellanox.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mellanox/mlx4/main.c

index cb7c3ef..781642d 100644 (file)
@@ -198,7 +198,7 @@ int mlx4_check_port_params(struct mlx4_dev *dev,
                for (i = 0; i < dev->caps.num_ports - 1; i++) {
                        if (port_type[i] != port_type[i + 1]) {
                                mlx4_err(dev, "Only same port types supported on this HCA, aborting\n");
-                               return -EINVAL;
+                               return -EOPNOTSUPP;
                        }
                }
        }
@@ -207,7 +207,7 @@ int mlx4_check_port_params(struct mlx4_dev *dev,
                if (!(port_type[i] & dev->caps.supported_type[i+1])) {
                        mlx4_err(dev, "Requested port type for port %d is not supported on this HCA\n",
                                 i + 1);
-                       return -EINVAL;
+                       return -EOPNOTSUPP;
                }
        }
        return 0;
@@ -1122,8 +1122,7 @@ static int __set_port_type(struct mlx4_port_info *info,
                mlx4_err(mdev,
                         "Requested port type for port %d is not supported on this HCA\n",
                         info->port);
-               err = -EINVAL;
-               goto err_sup;
+               return -EOPNOTSUPP;
        }
 
        mlx4_stop_sense(mdev);
@@ -1145,7 +1144,7 @@ static int __set_port_type(struct mlx4_port_info *info,
                for (i = 1; i <= mdev->caps.num_ports; i++) {
                        if (mdev->caps.possible_type[i] == MLX4_PORT_TYPE_AUTO) {
                                mdev->caps.possible_type[i] = mdev->caps.port_type[i];
-                               err = -EINVAL;
+                               err = -EOPNOTSUPP;
                        }
                }
        }
@@ -1171,7 +1170,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;
 }