diff mbox

[for,3.16] IB/mlx5: Enable block multicast loopback for kernel consumers too

Message ID 1403703854-14328-1-git-send-email-ogerlitz@mellanox.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Or Gerlitz June 25, 2014, 1:44 p.m. UTC
Under commit f360d88 we advertize blocking multicast loopback to both
kernel and user-space consumers, but disallow the kernel ones (e.g IPoIB)
to use it with their UD QPs, fix that.

Fixes: f360d88 ('IB/mlx5: Add block multicast loopback support')
Reported-by: Haggai Eran <haggaie@mellanox.com>
Signed-off-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
---
 drivers/infiniband/hw/mlx5/qp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Or Gerlitz July 15, 2014, 8:42 a.m. UTC | #1
On 25/06/2014 16:44, Or Gerlitz wrote:
> Under commit f360d88 we advertize blocking multicast loopback to both
> kernel and user-space consumers, but disallow the kernel ones (e.g IPoIB)
> to use it with their UD QPs, fix that.
>
> Fixes: f360d88 ('IB/mlx5: Add block multicast loopback support')
> Reported-by: Haggai Eran <haggaie@mellanox.com>
> Signed-off-by: Eli Cohen <eli@mellanox.com>
> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
> ---

Roland, this needs to go into 3.16 and 3.15-stable too as the bug was 
introduced in 3.15-rc2, please make sure to add it to your 3.16 rc pull 
request, OK?

Or.

>   drivers/infiniband/hw/mlx5/qp.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/infiniband/hw/mlx5/qp.c b/drivers/infiniband/hw/mlx5/qp.c
> index d13ddf1..bbbcf38 100644
> --- a/drivers/infiniband/hw/mlx5/qp.c
> +++ b/drivers/infiniband/hw/mlx5/qp.c
> @@ -675,7 +675,7 @@ static int create_kernel_qp(struct mlx5_ib_dev *dev,
>   	int err;
>
>   	uuari = &dev->mdev.priv.uuari;
> -	if (init_attr->create_flags & ~IB_QP_CREATE_SIGNATURE_EN)
> +	if (init_attr->create_flags & ~(IB_QP_CREATE_SIGNATURE_EN | IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK))
>   		return -EINVAL;
>
>   	if (init_attr->qp_type == MLX5_IB_QPT_REG_UMR)
>

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/infiniband/hw/mlx5/qp.c b/drivers/infiniband/hw/mlx5/qp.c
index d13ddf1..bbbcf38 100644
--- a/drivers/infiniband/hw/mlx5/qp.c
+++ b/drivers/infiniband/hw/mlx5/qp.c
@@ -675,7 +675,7 @@  static int create_kernel_qp(struct mlx5_ib_dev *dev,
 	int err;
 
 	uuari = &dev->mdev.priv.uuari;
-	if (init_attr->create_flags & ~IB_QP_CREATE_SIGNATURE_EN)
+	if (init_attr->create_flags & ~(IB_QP_CREATE_SIGNATURE_EN | IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK))
 		return -EINVAL;
 
 	if (init_attr->qp_type == MLX5_IB_QPT_REG_UMR)