From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Stefan Hajnoczi <stefanha@redhat.com>,
Greg Ungerer <gerg@uclinux.org>
Subject: [Qemu-devel] [PULL for-2.4 04/16] hw/net: fix mcf_fec driver receiver
Date: Mon, 27 Jul 2015 14:51:49 +0100 [thread overview]
Message-ID: <1438005121-31153-5-git-send-email-stefanha@redhat.com> (raw)
In-Reply-To: <1438005121-31153-1-git-send-email-stefanha@redhat.com>
From: Greg Ungerer <gerg@uclinux.org>
The network mcf_fec driver emulated receive side method is returning a
result of 0 causing the network layer to disable receive for this emulated
device. This results in the guest only ever receiving one packet.
Fix the recieve side processing to return the number of bytes that we
passed back through to the guest.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 1435296436-12152-5-git-send-email-gerg@uclinux.org
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
hw/net/mcf_fec.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/net/mcf_fec.c b/hw/net/mcf_fec.c
index ea59017..e63af1b 100644
--- a/hw/net/mcf_fec.c
+++ b/hw/net/mcf_fec.c
@@ -413,6 +413,7 @@ static ssize_t mcf_fec_receive(NetClientState *nc, const uint8_t *buf, size_t si
uint32_t buf_addr;
uint8_t *crc_ptr;
unsigned int buf_len;
+ size_t retsize;
DPRINTF("do_rx len %d\n", size);
if (!s->rx_enabled) {
@@ -432,6 +433,7 @@ static ssize_t mcf_fec_receive(NetClientState *nc, const uint8_t *buf, size_t si
flags |= FEC_BD_LG;
}
addr = s->rx_descriptor;
+ retsize = size;
while (size > 0) {
mcf_fec_read_bd(&bd, addr);
if ((bd.flags & FEC_BD_E) == 0) {
@@ -476,7 +478,7 @@ static ssize_t mcf_fec_receive(NetClientState *nc, const uint8_t *buf, size_t si
s->rx_descriptor = addr;
mcf_fec_enable_rx(s);
mcf_fec_update(s);
- return size;
+ return retsize;
}
static const MemoryRegionOps mcf_fec_ops = {
--
2.4.3
next prev parent reply other threads:[~2015-07-27 13:52 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-27 13:51 [Qemu-devel] [PULL for-2.4 00/16] Net patches Stefan Hajnoczi
2015-07-27 13:51 ` [Qemu-devel] [PULL for-2.4 01/16] hw/net: create common collection of MII definitions Stefan Hajnoczi
2015-07-27 13:51 ` [Qemu-devel] [PULL for-2.4 02/16] hw/net: add ANLPAR bit definitions to generic mii Stefan Hajnoczi
2015-07-27 13:51 ` [Qemu-devel] [PULL for-2.4 03/16] hw/net: add simple phy support to mcf_fec driver Stefan Hajnoczi
2015-07-27 13:51 ` Stefan Hajnoczi [this message]
2015-07-27 13:51 ` [Qemu-devel] [PULL for-2.4 05/16] xgmac: Drop packets with eth_can_rx is false Stefan Hajnoczi
2015-07-27 13:51 ` [Qemu-devel] [PULL for-2.4 06/16] pcnet: Drop pcnet_can_receive Stefan Hajnoczi
2015-07-27 13:51 ` [Qemu-devel] [PULL for-2.4 07/16] eepro100: Drop nic_can_receive Stefan Hajnoczi
2015-07-27 13:51 ` [Qemu-devel] [PULL for-2.4 08/16] usbnet: Drop usbnet_can_receive Stefan Hajnoczi
2015-07-27 13:51 ` [Qemu-devel] [PULL for-2.4 09/16] etsec: Move etsec_can_receive into etsec_receive Stefan Hajnoczi
2015-07-27 13:51 ` [Qemu-devel] [PULL for-2.4 10/16] etsec: Flush queue when rx buffer is consumed Stefan Hajnoczi
2015-07-27 13:51 ` [Qemu-devel] [PULL for-2.4 11/16] mcf_fec: Drop mcf_fec_can_receive Stefan Hajnoczi
2015-07-27 13:51 ` [Qemu-devel] [PULL for-2.4 12/16] milkymist-minimac2: Flush queued packets when link comes up Stefan Hajnoczi
2015-07-27 13:51 ` [Qemu-devel] [PULL for-2.4 13/16] mipsnet: Flush queued packets when receiving is enabled Stefan Hajnoczi
2015-07-27 13:51 ` [Qemu-devel] [PULL for-2.4 14/16] stellaris_enet: Flush queued packets when read done Stefan Hajnoczi
2015-07-27 13:52 ` [Qemu-devel] [PULL for-2.4 15/16] dp8393x: Flush packets when link comes up Stefan Hajnoczi
2015-07-27 13:52 ` [Qemu-devel] [PULL for-2.4 16/16] axienet: Flush queued packets when rx is done Stefan Hajnoczi
2015-07-27 15:13 ` [Qemu-devel] [PULL for-2.4 00/16] Net patches Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1438005121-31153-5-git-send-email-stefanha@redhat.com \
--to=stefanha@redhat.com \
--cc=gerg@uclinux.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).