[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL for-2.4 08/16] usbnet: Drop usbnet_can_receive
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PULL for-2.4 08/16] usbnet: Drop usbnet_can_receive |
Date: |
Mon, 27 Jul 2015 14:51:53 +0100 |
From: Fam Zheng <address@hidden>
usbnet_receive already drops packet if rndis_state is not
RNDIS_DATA_INITIALIZED, and queues packet if in buffer is not available.
The only difference is s->dev.config but that is similar to rndis_state.
Drop usbnet_can_receive and move these checks to usbnet_receive, so that
we don't need to explicitly flush the queue when s->dev.config changes
value.
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/usb/dev-network.c | 20 ++++----------------
1 file changed, 4 insertions(+), 16 deletions(-)
diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c
index 5eeb4c6..7800cee 100644
--- a/hw/usb/dev-network.c
+++ b/hw/usb/dev-network.c
@@ -1268,6 +1268,10 @@ static ssize_t usbnet_receive(NetClientState *nc, const
uint8_t *buf, size_t siz
uint8_t *in_buf = s->in_buf;
size_t total_size = size;
+ if (!s->dev.config) {
+ return -1;
+ }
+
if (is_rndis(s)) {
if (s->rndis_state != RNDIS_DATA_INITIALIZED) {
return -1;
@@ -1309,21 +1313,6 @@ static ssize_t usbnet_receive(NetClientState *nc, const
uint8_t *buf, size_t siz
return size;
}
-static int usbnet_can_receive(NetClientState *nc)
-{
- USBNetState *s = qemu_get_nic_opaque(nc);
-
- if (!s->dev.config) {
- return 0;
- }
-
- if (is_rndis(s) && s->rndis_state != RNDIS_DATA_INITIALIZED) {
- return 1;
- }
-
- return !s->in_len;
-}
-
static void usbnet_cleanup(NetClientState *nc)
{
USBNetState *s = qemu_get_nic_opaque(nc);
@@ -1343,7 +1332,6 @@ static void usb_net_handle_destroy(USBDevice *dev)
static NetClientInfo net_usbnet_info = {
.type = NET_CLIENT_OPTIONS_KIND_NIC,
.size = sizeof(NICState),
- .can_receive = usbnet_can_receive,
.receive = usbnet_receive,
.cleanup = usbnet_cleanup,
};
--
2.4.3
- [Qemu-devel] [PULL for-2.4 00/16] Net patches, Stefan Hajnoczi, 2015/07/27
- [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 <=
- [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, 2015/07/27
- [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