[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL for-2.4 11/16] mcf_fec: Drop mcf_fec_can_receive
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PULL for-2.4 11/16] mcf_fec: Drop mcf_fec_can_receive |
Date: |
Mon, 27 Jul 2015 14:51:56 +0100 |
From: Fam Zheng <address@hidden>
The semantics of .can_receive requires us to flush the queue explicitly
when s->rx_enabled becomes true after it returns 0, but the packet being
queued is not meaningful since the guest hasn't activated the card.
Let's just drop the packet in this case.
Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Jason Wang <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
hw/net/mcf_fec.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/hw/net/mcf_fec.c b/hw/net/mcf_fec.c
index e63af1b..4e6939f 100644
--- a/hw/net/mcf_fec.c
+++ b/hw/net/mcf_fec.c
@@ -397,12 +397,6 @@ static void mcf_fec_write(void *opaque, hwaddr addr,
mcf_fec_update(s);
}
-static int mcf_fec_can_receive(NetClientState *nc)
-{
- mcf_fec_state *s = qemu_get_nic_opaque(nc);
- return s->rx_enabled;
-}
-
static ssize_t mcf_fec_receive(NetClientState *nc, const uint8_t *buf, size_t
size)
{
mcf_fec_state *s = qemu_get_nic_opaque(nc);
@@ -417,7 +411,7 @@ static ssize_t mcf_fec_receive(NetClientState *nc, const
uint8_t *buf, size_t si
DPRINTF("do_rx len %d\n", size);
if (!s->rx_enabled) {
- fprintf(stderr, "mcf_fec_receive: Unexpected packet\n");
+ return -1;
}
/* 4 bytes for the CRC. */
size += 4;
@@ -490,7 +484,6 @@ static const MemoryRegionOps mcf_fec_ops = {
static NetClientInfo net_mcf_fec_info = {
.type = NET_CLIENT_OPTIONS_KIND_NIC,
.size = sizeof(NICState),
- .can_receive = mcf_fec_can_receive,
.receive = mcf_fec_receive,
};
--
2.4.3
- [Qemu-devel] [PULL for-2.4 03/16] hw/net: add simple phy support to mcf_fec driver, (continued)
- [Qemu-devel] [PULL for-2.4 03/16] hw/net: add simple phy support to mcf_fec driver, Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 01/16] hw/net: create common collection of MII definitions, Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 02/16] hw/net: add ANLPAR bit definitions to generic mii, Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 04/16] hw/net: fix mcf_fec driver receiver, Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 05/16] xgmac: Drop packets with eth_can_rx is false., Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 08/16] usbnet: Drop usbnet_can_receive, Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 06/16] pcnet: Drop pcnet_can_receive, Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 07/16] eepro100: Drop nic_can_receive, Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 10/16] etsec: Flush queue when rx buffer is consumed, Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 12/16] milkymist-minimac2: Flush queued packets when link comes up, Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 11/16] mcf_fec: Drop mcf_fec_can_receive,
Stefan Hajnoczi <=
- [Qemu-devel] [PULL for-2.4 13/16] mipsnet: Flush queued packets when receiving is enabled, Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 14/16] stellaris_enet: Flush queued packets when read done, Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 09/16] etsec: Move etsec_can_receive into etsec_receive, Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 15/16] dp8393x: Flush packets when link comes up, Stefan Hajnoczi, 2015/07/27
- [Qemu-devel] [PULL for-2.4 16/16] axienet: Flush queued packets when rx is done, Stefan Hajnoczi, 2015/07/27
- Re: [Qemu-devel] [PULL for-2.4 00/16] Net patches, Peter Maydell, 2015/07/27