diff options
author | Ursula Braun <ubraun@linux.ibm.com> | 2019-02-04 13:44:46 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-02-04 18:11:19 +0100 |
commit | a5e04318c83a31925300af1ce358dbc1a708b732 (patch) | |
tree | ee3545500dc9cec8e9c2ed70774eafd474d2d1d1 /net | |
parent | net/smc: fix sender_free computation (diff) | |
download | linux-a5e04318c83a31925300af1ce358dbc1a708b732.tar.xz linux-a5e04318c83a31925300af1ce358dbc1a708b732.zip |
net/smc: delete rkey first before switching to unused
Once RMBs are flagged as unused they are candidates for reuse.
Thus the LLC DELETE RKEY operaton should be made before flagging
the RMB as unused.
Fixes: c7674c001b11 ("net/smc: unregister rkeys of unused buffer")
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/smc/smc_core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/smc/smc_core.c b/net/smc/smc_core.c index 097c798983ca..aa1c551cee81 100644 --- a/net/smc/smc_core.c +++ b/net/smc/smc_core.c @@ -302,13 +302,13 @@ static void smc_buf_unuse(struct smc_connection *conn, conn->sndbuf_desc->used = 0; if (conn->rmb_desc) { if (!conn->rmb_desc->regerr) { - conn->rmb_desc->used = 0; if (!lgr->is_smcd) { /* unregister rmb with peer */ smc_llc_do_delete_rkey( &lgr->lnk[SMC_SINGLE_LINK], conn->rmb_desc); } + conn->rmb_desc->used = 0; } else { /* buf registration failed, reuse not possible */ write_lock_bh(&lgr->rmbs_lock); |