From: Rémi Denis-Courmont Date: Mon, 30 Aug 2010 12:57:05 +0000 (+0000) Subject: Phonet: do not set POLLOUT in case of send buffer overflow X-Git-Tag: v2.6.37-rc1~147^2~623 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=01b38606bded44bf8b7ca42e8fe5f2cad5d28121;p=platform%2Fkernel%2Flinux-exynos.git Phonet: do not set POLLOUT in case of send buffer overflow Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller --- diff --git a/net/phonet/socket.c b/net/phonet/socket.c index 6e9848bf..7c91f73 100644 --- a/net/phonet/socket.c +++ b/net/phonet/socket.c @@ -281,7 +281,9 @@ static unsigned int pn_socket_poll(struct file *file, struct socket *sock, if (!mask && sk->sk_state == TCP_CLOSE_WAIT) return POLLHUP; - if (sk->sk_state == TCP_ESTABLISHED && atomic_read(&pn->tx_credits)) + if (sk->sk_state == TCP_ESTABLISHED && + atomic_read(&sk->sk_wmem_alloc) < sk->sk_sndbuf && + atomic_read(&pn->tx_credits)) mask |= POLLOUT | POLLWRNORM | POLLWRBAND; return mask;