Skip to content

Commit 71c125c

Browse files
Ursula Braundavem330
authored andcommitted
smc: cleanup close checking during data receival
When waiting for data to be received it must be checked if the peer signals shutdown. The SMC code uses two different checks for this purpose, even though just one check is sufficient. This patch removes the superfluous test for SOCK_DONE. Signed-off-by: Ursula Braun <ubraun@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 4bd3e7f commit 71c125c

File tree

1 file changed

+1
-4
lines changed

1 file changed

+1
-4
lines changed

net/smc/smc_rx.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ static int smc_rx_wait_data(struct smc_sock *smc, long *timeo)
6565
rc = sk_wait_event(sk, timeo,
6666
sk->sk_err ||
6767
sk->sk_shutdown & RCV_SHUTDOWN ||
68-
sock_flag(sk, SOCK_DONE) ||
6968
atomic_read(&conn->bytes_to_rcv) ||
7069
smc_cdc_rxed_any_close_or_senddone(conn),
7170
&wait);
@@ -116,16 +115,14 @@ int smc_rx_recvmsg(struct smc_sock *smc, struct msghdr *msg, size_t len,
116115
if (read_done) {
117116
if (sk->sk_err ||
118117
sk->sk_state == SMC_CLOSED ||
119-
(sk->sk_shutdown & RCV_SHUTDOWN) ||
118+
sk->sk_shutdown & RCV_SHUTDOWN ||
120119
!timeo ||
121120
signal_pending(current) ||
122121
smc_cdc_rxed_any_close_or_senddone(conn) ||
123122
conn->local_tx_ctrl.conn_state_flags.
124123
peer_conn_abort)
125124
break;
126125
} else {
127-
if (sock_flag(sk, SOCK_DONE))
128-
break;
129126
if (sk->sk_err) {
130127
read_done = sock_error(sk);
131128
break;

0 commit comments

Comments
 (0)