From patchwork Thu Aug 18 05:40:06 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Wang X-Patchwork-Id: 660328 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3sFFMn3pZNz9t16 for ; Thu, 18 Aug 2016 15:41:41 +1000 (AEST) Received: from localhost ([::1]:50880 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1baG5D-0002Rw-83 for incoming@patchwork.ozlabs.org; Thu, 18 Aug 2016 01:41:39 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42085) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1baG3z-0001Yd-E3 for qemu-devel@nongnu.org; Thu, 18 Aug 2016 01:40:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1baG3x-0002Ip-Ia for qemu-devel@nongnu.org; Thu, 18 Aug 2016 01:40:22 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49610) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1baG3x-0002Ij-Cn for qemu-devel@nongnu.org; Thu, 18 Aug 2016 01:40:21 -0400 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B7CE84E4C7; Thu, 18 Aug 2016 05:40:20 +0000 (UTC) Received: from jason-ThinkPad-T450s.redhat.com (vpn1-4-191.pek2.redhat.com [10.72.4.191]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u7I5e754025343; Thu, 18 Aug 2016 01:40:18 -0400 From: Jason Wang To: qemu-devel@nongnu.org, peter.maydell@linaro.org Date: Thu, 18 Aug 2016 13:40:06 +0800 Message-Id: <1471498806-29394-3-git-send-email-jasowang@redhat.com> In-Reply-To: <1471498806-29394-1-git-send-email-jasowang@redhat.com> References: <1471498806-29394-1-git-send-email-jasowang@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 18 Aug 2016 05:40:20 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 2/2] net/net: properly handle multiple packets in net_fill_rstate() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jason Wang , Li Zhijian , Zhang Chen Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Zhang Chen When network is busy, we will receive multiple packets at one time. In that situation, we should keep trying to do the receiving instead of finalizing only the first packet. Signed-off-by: Zhang Chen Signed-off-by: Li Zhijian Signed-off-by: Jason Wang --- net/net.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/net.c b/net/net.c index c124b11..d51cb29 100644 --- a/net/net.c +++ b/net/net.c @@ -1602,9 +1602,8 @@ void net_socket_rs_init(SocketReadState *rs, /* * Returns - * 0: SocketReadState is not ready - * 1: SocketReadState is ready - * otherwise error occurs + * 0: success + * -1: error occurs */ int net_fill_rstate(SocketReadState *rs, const uint8_t *buf, int size) { @@ -1652,10 +1651,11 @@ int net_fill_rstate(SocketReadState *rs, const uint8_t *buf, int size) if (rs->finalize) { rs->finalize(rs); } - return 1; } break; } } + + assert(size == 0); return 0; }