]> git.itanic.dy.fi Git - linux-stable/commitdiff
RDMA/mlx4: Return missed an error if device doesn't support steering
authorLeon Romanovsky <leonro@nvidia.com>
Tue, 12 Oct 2021 07:28:43 +0000 (10:28 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Nov 2021 08:48:43 +0000 (09:48 +0100)
[ 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

index 17ce928e41bde6a03fa1461d4c88322fbfc05710..bca5358f3ef2952d378f4a3658c47797c78a9ff3 100644 (file)
@@ -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);