| From 798a3589ffefe632bd0c6acf8549bb417b7e963f Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 12 Oct 2021 10:28:43 +0300 |
| Subject: RDMA/mlx4: Return missed an error if device doesn't support steering |
| |
| From: Leon Romanovsky <leonro@nvidia.com> |
| |
| [ Upstream commit f4e56ec4452f48b8292dcf0e1c4bdac83506fb8b ] |
| |
| The error flow fixed in this patch is not possible because all kernel |
| users of create QP interface check that device supports steering before |
| set IB_QP_CREATE_NETIF_QP flag. |
| |
| Fixes: c1c98501121e ("IB/mlx4: Add support for steerable IB UD QPs") |
| Link: https://lore.kernel.org/r/91c61f6e60eb0240f8bbc321fda7a1d2986dd03c.1634023677.git.leonro@nvidia.com |
| Reported-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Signed-off-by: Leon Romanovsky <leonro@nvidia.com> |
| Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/infiniband/hw/mlx4/qp.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c |
| index 17ce928e41bde..bca5358f3ef29 100644 |
| --- a/drivers/infiniband/hw/mlx4/qp.c |
| +++ b/drivers/infiniband/hw/mlx4/qp.c |
| @@ -1149,8 +1149,10 @@ static int create_qp_common(struct ib_pd *pd, struct ib_qp_init_attr *init_attr, |
| if (dev->steering_support == |
| MLX4_STEERING_MODE_DEVICE_MANAGED) |
| qp->flags |= MLX4_IB_QP_NETIF; |
| - else |
| + else { |
| + err = -EINVAL; |
| goto err; |
| + } |
| } |
| |
| err = set_kernel_sq_size(dev, &init_attr->cap, qp_type, qp); |
| -- |
| 2.33.0 |
| |