On 09/01/2015 11:26 PM, Vladislav Yasevich wrote:
> When operation in standard mode, we currently return the size
> of packet during buffer overflow.  This consumes the overflow
> packet.  Return 0 instead so we can re-process the overflow packet
> when we have room.
>
> This fixes issues with lost/dropped fragments of large messages.
>
> Signed-off-by: Vladislav Yasevich <vyase...@redhat.com>
> ---
>  hw/net/rtl8139.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
> index 8a33466..cb51613 100644
> --- a/hw/net/rtl8139.c
> +++ b/hw/net/rtl8139.c
> @@ -1159,7 +1159,7 @@ static ssize_t rtl8139_do_receive(NetClientState *nc, 
> const uint8_t *buf, size_t
>              s->IntrStatus |= RxOverflow;
>              ++s->RxMissed;
>              rtl8139_update_irq(s);
> -            return size_;
> +            return 0;
>          }
>  
>          packet_header |= RxStatusOK;

Reviewed-by: Jason Wang <jasow...@redhat.com>

Reply via email to