net/smc: short wait for late smc_clc_wait_msg
After sending one of the initial LLC messages CONFIRM LINK or ADD LINK, there is already a wait for the LLC response. It does not make sense to wait another long time for a CLC DECLINE. Thus this patch introduces a shorter wait time for these cases. Signed-off-by: Ursula Braun <ubraun@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
90d8b29cb4
commit
2b59f58e34
@@ -265,7 +265,7 @@ out:
|
||||
* clcsock error, -EINTR, -ECONNRESET, -EPROTO otherwise.
|
||||
*/
|
||||
int smc_clc_wait_msg(struct smc_sock *smc, void *buf, int buflen,
|
||||
u8 expected_type)
|
||||
u8 expected_type, unsigned long timeout)
|
||||
{
|
||||
long rcvtimeo = smc->clcsock->sk->sk_rcvtimeo;
|
||||
struct sock *clc_sk = smc->clcsock->sk;
|
||||
@@ -285,7 +285,7 @@ int smc_clc_wait_msg(struct smc_sock *smc, void *buf, int buflen,
|
||||
* sizeof(struct smc_clc_msg_hdr)
|
||||
*/
|
||||
krflags = MSG_PEEK | MSG_WAITALL;
|
||||
smc->clcsock->sk->sk_rcvtimeo = CLC_WAIT_TIME;
|
||||
clc_sk->sk_rcvtimeo = timeout;
|
||||
iov_iter_kvec(&msg.msg_iter, READ, &vec, 1,
|
||||
sizeof(struct smc_clc_msg_hdr));
|
||||
len = sock_recvmsg(smc->clcsock, &msg, krflags);
|
||||
@@ -351,7 +351,7 @@ int smc_clc_wait_msg(struct smc_sock *smc, void *buf, int buflen,
|
||||
}
|
||||
|
||||
out:
|
||||
smc->clcsock->sk->sk_rcvtimeo = rcvtimeo;
|
||||
clc_sk->sk_rcvtimeo = rcvtimeo;
|
||||
return reason_code;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user