diff options
author | Vladislav Yasevich <vyasevic@redhat.com> | 2015-09-01 11:26:46 -0400 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2015-09-02 13:42:31 +0100 |
commit | 26c4e7ca72d970d120f0f51244bc8d37458512a0 (patch) | |
tree | 77a907039f026608fccb91362ee5ab6b94bb6a19 /hw/net/rtl8139.c | |
parent | fabdcd3392f16fc666b1d04fc1bbe5f1dbbf10a4 (diff) |
rtl8139: Do not consume the packet during overflow in standard mode.
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 <vyasevic@redhat.com>
Reviewed-by: Jason Wang <jasowang@redhat.com>
Message-id: 1441121206-6997-3-git-send-email-vyasevic@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'hw/net/rtl8139.c')
-rw-r--r-- | hw/net/rtl8139.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c index 960580b910..fb2c55ce0b 100644 --- a/hw/net/rtl8139.c +++ b/hw/net/rtl8139.c @@ -1157,7 +1157,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; |