diff mbox

[V2] net/net: Bugfix for net_fill_rstate()

Message ID 1471490605-2154-1-git-send-email-zhangchen.fnst@cn.fujitsu.com (mailing list archive)
State New, archived
Headers show

Commit Message

Zhang Chen Aug. 18, 2016, 3:23 a.m. UTC
When network is busy, we will receive multiple packets
at one time. In that situation, this bug will lost all
packets except the first one.

Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
---
 net/net.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Jason Wang Aug. 18, 2016, 5:33 a.m. UTC | #1
On 2016年08月18日 11:23, Zhang Chen wrote:
> When network is busy, we will receive multiple packets
> at one time. In that situation, this bug will lost all
> packets except the first one.
>
> Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
> Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
> ---
>   net/net.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/net/net.c b/net/net.c
> index a8e2e6b..0b11f10 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -1586,9 +1586,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)
>   {
> @@ -1636,10 +1635,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;
>   }

Applied with minor tweaks on commit log.

Thanks
diff mbox

Patch

diff --git a/net/net.c b/net/net.c
index a8e2e6b..0b11f10 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1586,9 +1586,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)
 {
@@ -1636,10 +1635,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;
 }