|
@@ -1490,7 +1490,7 @@ unsigned int iucv_sock_poll(struct file *file, struct socket *sock,
|
|
if (sk->sk_state == IUCV_DISCONN)
|
|
if (sk->sk_state == IUCV_DISCONN)
|
|
mask |= POLLIN;
|
|
mask |= POLLIN;
|
|
|
|
|
|
- if (sock_writeable(sk))
|
|
|
|
|
|
+ if (sock_writeable(sk) && iucv_below_msglim(sk))
|
|
mask |= POLLOUT | POLLWRNORM | POLLWRBAND;
|
|
mask |= POLLOUT | POLLWRNORM | POLLWRBAND;
|
|
else
|
|
else
|
|
set_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags);
|
|
set_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags);
|