| From foo@baz Wed Aug 22 09:42:09 CEST 2018 |
| From: Vijay Immanuel <vijayi@attalasystems.com> |
| Date: Tue, 12 Jun 2018 18:16:05 -0700 |
| Subject: IB/rxe: Fix missing completion for mem_reg work requests |
| |
| From: Vijay Immanuel <vijayi@attalasystems.com> |
| |
| [ Upstream commit 375dc53d032fc11e98036b5f228ad13f7c5933f5 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/infiniband/sw/rxe/rxe_req.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/drivers/infiniband/sw/rxe/rxe_req.c |
| +++ b/drivers/infiniband/sw/rxe/rxe_req.c |
| @@ -648,6 +648,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; |