]> git.dujemihanovic.xyz Git - linux.git/commitdiff
RDMA/irdma: Fix Local Invalidate fencing
authorMustafa Ismail <mustafa.ismail@intel.com>
Mon, 22 May 2023 15:56:54 +0000 (10:56 -0500)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 29 May 2023 17:06:29 +0000 (14:06 -0300)
If the local invalidate fence is indicated in the WR, only the read fence
is currently being set in WQE. Fix this to set both the read and local
fence in the WQE.

Fixes: b48c24c2d710 ("RDMA/irdma: Implement device supported verb APIs")
Link: https://lore.kernel.org/r/20230522155654.1309-4-shiraz.saleem@intel.com
Signed-off-by: Mustafa Ismail <mustafa.ismail@intel.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/irdma/verbs.c

index 68ce3cd400029d6d146e8b01941bec5a5920d3ef..eaa12c124598285beaa891761d8a2ec6aaa17ada 100644 (file)
@@ -3292,6 +3292,7 @@ static int irdma_post_send(struct ib_qp *ibqp,
                        break;
                case IB_WR_LOCAL_INV:
                        info.op_type = IRDMA_OP_TYPE_INV_STAG;
+                       info.local_fence = info.read_fence;
                        info.op.inv_local_stag.target_stag = ib_wr->ex.invalidate_rkey;
                        err = irdma_uk_stag_local_invalidate(ukqp, &info, true);
                        break;