From: yuan linyu <linyu.y...@alcatel-sbell.com.cn> from logical view, if sock_writeable(&q->sk) return false, original second condition will false too, change it and make second condition can return true.
Signed-off-by: yuan linyu <linyu.y...@alcatel-sbell.com.cn> --- drivers/net/tap.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/tap.c b/drivers/net/tap.c index 78900a0..b809405 100644 --- a/drivers/net/tap.c +++ b/drivers/net/tap.c @@ -583,8 +583,7 @@ static unsigned int tap_poll(struct file *file, poll_table *wait) mask |= POLLIN | POLLRDNORM; if (sock_writeable(&q->sk) || - (!test_and_set_bit(SOCKWQ_ASYNC_NOSPACE, &q->sock.flags) && - sock_writeable(&q->sk))) + !test_and_set_bit(SOCKWQ_ASYNC_NOSPACE, &q->sock.flags)) mask |= POLLOUT | POLLWRNORM; out: -- 2.7.4