Skip to contentSkip to conversation

RDMA/mlx5: Fix integrity enabled QP creation

PATCH Applied Leon Romanovsky 3 participants 3 messages Jun 17, 2020 – Jun 18, 2020

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 RDMA/mlx5: Fix integrity enabled QP creation

From: Max Gurtovoy <[email protected]>

create_flags checks was refactored and broke the creation on integrity enabled QPs and actually broke the NVMe/RDMA and iSER ULP's when using mlx5 driven devices.

Fixes 2978975ce7f1 ("RDMA/mlx5: Process create QP flags in one place")
---
 drivers/infiniband/hw/mlx5/qp.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/infiniband/hw/mlx5/qp.c +3 -0
index aff412b513ae..fe6af6bed02d 100644
@@ -2668,6 +2668,9 @@ static int process_create_flags(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp,
 	if (qp_type == IB_QPT_RAW_PACKET && attr->rwq_ind_tbl)
 		return (create_flags) ? -EINVAL : 0;
 
+	process_create_flag(dev, &create_flags,
+			    IB_QP_CREATE_INTEGRITY_EN,
+			    MLX5_CAP_GEN(mdev, sho), qp);
 	process_create_flag(dev, &create_flags,
 			    IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK,
 			    MLX5_CAP_GEN(mdev, block_lb_mc), qp);

--
2.26.2

#1 lore raw

+ adding the NVMe mailing list in case someone find issues with NVMe/RDMA on 5.8-rc1

Quoted 30 lines · Leon Romanovsky

From: Max Gurtovoy <[email protected]>

create_flags checks was refactored and broke the creation on integrity enabled QPs and actually broke the NVMe/RDMA and iSER ULP's when using mlx5 driven devices.

Fixes 2978975ce7f1 ("RDMA/mlx5: Process create QP flags in one place")
---
  drivers/infiniband/hw/mlx5/qp.c | 3 +++
  1 file changed, 3 insertions(+)
drivers/infiniband/hw/mlx5/qp.c +3 -1
index aff412b513ae..fe6af6bed02d 100644
@@ -2668,6 +2668,9 @@ static int process_create_flags(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp,
  	if (qp_type == IB_QPT_RAW_PACKET && attr->rwq_ind_tbl)
  		return (create_flags) ? -EINVAL : 0;
 
+	process_create_flag(dev, &create_flags,
+			    IB_QP_CREATE_INTEGRITY_EN,
+			    MLX5_CAP_GEN(mdev, sho), qp);
  	process_create_flag(dev, &create_flags,
  			    IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK,
  			    MLX5_CAP_GEN(mdev, block_lb_mc), qp);
--

2.26.2

maintainer Applied
#2 lore raw
In reply to Leon Romanovsky
Quoted 6 lines · Leon Romanovsky

From: Max Gurtovoy <[email protected]>

create_flags checks was refactored and broke the creation on integrity enabled QPs and actually broke the NVMe/RDMA and iSER ULP's when using mlx5 driven devices.

Quoted 6 lines
Fixes 2978975ce7f1 ("RDMA/mlx5: Process create QP flags in one place")
---
 drivers/infiniband/hw/mlx5/qp.c | 3 +++
 1 file changed, 3 insertions(+)

Applied to for-rc, thanks

Jason