diff options
Diffstat (limited to 'net/tipc/socket.c')
-rw-r--r-- | net/tipc/socket.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/tipc/socket.c b/net/tipc/socket.c index b5fc8ed1d1fe..59adc76905e0 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c | |||
@@ -412,7 +412,7 @@ static int get_name(struct socket *sock, struct sockaddr *uaddr, | |||
412 | * socket state flags set | 412 | * socket state flags set |
413 | * ------------ --------- | 413 | * ------------ --------- |
414 | * unconnected no read flags | 414 | * unconnected no read flags |
415 | * no write flags | 415 | * POLLOUT if port is not congested |
416 | * | 416 | * |
417 | * connecting POLLIN/POLLRDNORM if ACK/NACK in rx queue | 417 | * connecting POLLIN/POLLRDNORM if ACK/NACK in rx queue |
418 | * no write flags | 418 | * no write flags |
@@ -442,6 +442,10 @@ static unsigned int poll(struct file *file, struct socket *sock, | |||
442 | sock_poll_wait(file, sk_sleep(sk), wait); | 442 | sock_poll_wait(file, sk_sleep(sk), wait); |
443 | 443 | ||
444 | switch ((int)sock->state) { | 444 | switch ((int)sock->state) { |
445 | case SS_UNCONNECTED: | ||
446 | if (!tipc_sk_port(sk)->congested) | ||
447 | mask |= POLLOUT; | ||
448 | break; | ||
445 | case SS_READY: | 449 | case SS_READY: |
446 | case SS_CONNECTED: | 450 | case SS_CONNECTED: |
447 | if (!tipc_sk_port(sk)->congested) | 451 | if (!tipc_sk_port(sk)->congested) |