diff options
author | Ursula Braun <ubraun@linux.ibm.com> | 2018-08-03 10:38:33 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-08-04 13:09:33 -0700 |
commit | 5607016cd1bbec538050b495669c3c8c5a2cee80 (patch) | |
tree | 36ebe535d0f05bb706d29702244e16e89671584b /net/smc/smc_cdc.c | |
parent | f664e37dcc525768280cb94321424a09beb1c992 (diff) | |
download | linux-5607016cd1bbec538050b495669c3c8c5a2cee80.tar.bz2 |
net/smc: no cursor update send in state SMC_INIT
If a writer blocked condition is received without data, the current
consumer cursor is immediately sent. Servers could already receive this
condition in state SMC_INIT without finished tx-setup. This patch
avoids sending a consumer cursor update in this case.
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/smc/smc_cdc.c')
-rw-r--r-- | net/smc/smc_cdc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/smc/smc_cdc.c b/net/smc/smc_cdc.c index a7e8d63fc8ae..9bde1e4ca288 100644 --- a/net/smc/smc_cdc.c +++ b/net/smc/smc_cdc.c @@ -233,7 +233,8 @@ static void smc_cdc_msg_recv_action(struct smc_sock *smc, /* force immediate tx of current consumer cursor, but * under send_lock to guarantee arrival in seqno-order */ - smc_tx_sndbuf_nonempty(conn); + if (smc->sk.sk_state != SMC_INIT) + smc_tx_sndbuf_nonempty(conn); } } |