diff options
author | Karsten Graul <kgraul@linux.ibm.com> | 2020-02-17 16:24:51 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-02-17 14:50:24 -0800 |
commit | 354ea2baa3936fcbfcb7ddf4ca3b6905389d4b25 (patch) | |
tree | 05e1d2be4e1eba96ba8c419ce381854e77e3af69 /net/smc/smc_tx.c | |
parent | 55dd5758175828bd03f4392b4df0d37edd31559d (diff) |
net/smc: use termination worker under send_lock
smc_tx_rdma_write() is called under the send_lock and should not call
smc_lgr_terminate() directly. Call smc_lgr_terminate_sched() instead
which schedules a worker.
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/smc/smc_tx.c')
-rw-r--r-- | net/smc/smc_tx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/smc/smc_tx.c b/net/smc/smc_tx.c index 0d42e7716b91..9f1ade86d70e 100644 --- a/net/smc/smc_tx.c +++ b/net/smc/smc_tx.c @@ -284,7 +284,7 @@ static int smc_tx_rdma_write(struct smc_connection *conn, int peer_rmbe_offset, rdma_wr->rkey = lgr->rtokens[conn->rtoken_idx][SMC_SINGLE_LINK].rkey; rc = ib_post_send(link->roce_qp, &rdma_wr->wr, NULL); if (rc) - smc_lgr_terminate(lgr, true); + smc_lgr_terminate_sched(lgr); return rc; } |