Skip to content

Commit c2ea08c

Browse files
Bob Pearsonjgunthorpe
authored andcommitted
RDMA/rxe: Replace __rxe_do_task by rxe_run_task
In rxe_req.c replace calls to __rxe_do_task() by calls to rxe_run_task(.., 0). Using __rxe_do_task is an error because the completer tasklet is not designed to be re-entrant and __rxe_do_task() should only be called when it is clear that no one else could be calling the completer tasklet as is the case in rxe_qp.c where this call is used in safe environments. Link: https://lore.kernel.org/r/20220630190425.2251-10-rpearsonhpe@gmail.com Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com> Reviewed-by: Li Zhijian <lizhijian@fujitsu.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
1 parent eff6d99 commit c2ea08c

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/infiniband/sw/rxe/rxe_req.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -722,7 +722,7 @@ int rxe_requester(void *arg)
722722
qp->req.wqe_index);
723723
wqe->state = wqe_state_done;
724724
wqe->status = IB_WC_SUCCESS;
725-
__rxe_do_task(&qp->comp.task);
725+
rxe_run_task(&qp->comp.task, 0);
726726
goto done;
727727
}
728728
payload = mtu;
@@ -803,7 +803,7 @@ int rxe_requester(void *arg)
803803
goto out;
804804
err:
805805
wqe->state = wqe_state_error;
806-
__rxe_do_task(&qp->comp.task);
806+
rxe_run_task(&qp->comp.task, 0);
807807
exit:
808808
ret = -EAGAIN;
809809
out:

0 commit comments

Comments
 (0)