summaryrefslogtreecommitdiff
path: root/drivers/infiniband/sw/rxe/rxe_req.c
diff options
context:
space:
mode:
authorVijay Immanuel <vijayi@attalasystems.com>2018-06-13 04:16:05 +0300
committerJason Gunthorpe <jgg@mellanox.com>2018-06-18 20:36:13 +0300
commit375dc53d032fc11e98036b5f228ad13f7c5933f5 (patch)
tree194265d708fd3b2630b31a8723707efb8ea559a1 /drivers/infiniband/sw/rxe/rxe_req.c
parent7350cdd0257e73a37df57253fb9decd8effacd37 (diff)
downloadlinux-375dc53d032fc11e98036b5f228ad13f7c5933f5.tar.xz
IB/rxe: Fix missing completion for mem_reg work requests
Run the completer task to post a work completion after processing a memory registration or invalidate work request. This covers the case where the memory registration or invalidate was the last work request posted to the qp. Signed-off-by: Vijay Immanuel <vijayi@attalasystems.com> Reviewed-by: Yonatan Cohen <yonatanc@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/infiniband/sw/rxe/rxe_req.c')
-rw-r--r--drivers/infiniband/sw/rxe/rxe_req.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/sw/rxe/rxe_req.c b/drivers/infiniband/sw/rxe/rxe_req.c
index 829ecb93661f..8be27238a86e 100644
--- a/drivers/infiniband/sw/rxe/rxe_req.c
+++ b/drivers/infiniband/sw/rxe/rxe_req.c
@@ -645,6 +645,9 @@ next_wqe:
} else {
goto exit;
}
+ if ((wqe->wr.send_flags & IB_SEND_SIGNALED) ||
+ qp->sq_sig_type == IB_SIGNAL_ALL_WR)
+ rxe_run_task(&qp->comp.task, 1);
qp->req.wqe_index = next_index(qp->sq.queue,
qp->req.wqe_index);
goto next_wqe;