From patchwork Thu Dec 14 14:22:16 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: yuan linyu X-Patchwork-Id: 848571 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=163.com header.i=@163.com header.b="Gk45976B"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yyG4G5Sk9z9s74 for ; Fri, 15 Dec 2017 01:22:54 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752584AbdLNOWw (ORCPT ); Thu, 14 Dec 2017 09:22:52 -0500 Received: from m12-13.163.com ([220.181.12.13]:41548 "EHLO m12-13.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752506AbdLNOWv (ORCPT ); Thu, 14 Dec 2017 09:22:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=rduPo YFz2gGMaxE1oyvhroXwtJ4Pz0vhhKtCdYtGQpI=; b=Gk45976BtzxubzSRMyNwn no1E28NGRXYPUWpLfzqz4lWbuAlmUlMd31xmAwZmji3NSkE06uG2MiY90ya+yC6p kjg3wV8557cmp3hY3EPDxxOcgWIJPRCjjCqEi8DC8Ja6WxOXQfWfY0K38yLxJK1+ xMb7UqVf5lE5kIT2UNaN8s= Received: from localhost.localdomain (unknown [43.243.148.212]) by smtp9 (Coremail) with SMTP id DcCowADX9NkuiTJa8+hOAw--.7169S2; Thu, 14 Dec 2017 22:22:38 +0800 (CST) From: yuan linyu To: netdev@vger.kernel.org Cc: "David S . Miller" , yuan linyu Subject: [PATCH net-next] net: tap: fix POLLOUT condition in tap_poll() Date: Thu, 14 Dec 2017 22:22:16 +0800 Message-Id: <1513261336-5209-1-git-send-email-cugyly@163.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-CM-TRANSID: DcCowADX9NkuiTJa8+hOAw--.7169S2 X-Coremail-Antispam: 1Uf129KBjvdXoW7Jr1furW3uw15Gw47tw4xWFg_yoWfXFc_Gr 45Wrn7GrWqyr9IkrnrCrW3XasYka1DuF48uw1IqrZxZrnrG3ZYkr1kZ3srAwsxGryFkFn7 Kws0qrWSy34j9jkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU8j-e5UUUUU== X-Originating-IP: [43.243.148.212] X-CM-SenderInfo: pfxj5zr16rljoofrz/1tbiHQmu41SIXCSR5wAAsL Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: yuan linyu from logical view, if sock_writeable(&q->sk) return false, original second condition will return false too, change it and make second condition can return true. Signed-off-by: yuan linyu --- 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 0a886fda..72212bf 100644 --- a/drivers/net/tap.c +++ b/drivers/net/tap.c @@ -587,8 +587,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: