summaryrefslogtreecommitdiff
path: root/hw/net/etraxfs_eth.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2014-12-23 17:53:19 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2015-01-12 10:16:23 +0000
commit57407ea44cc0a3d630b9b89a2be011f1955ce5c1 (patch)
treee3787f7db5a01db84173b5551f9a68a974f29be7 /hw/net/etraxfs_eth.c
parent64ea8038ffbf703dcd438a108d2d5499c8ff95d9 (diff)
downloadqemu-57407ea44cc0a3d630b9b89a2be011f1955ce5c1.tar.gz
net: remove all cleanup methods from NIC NetClientInfos
All NICs have a cleanup function that, in most cases, zeroes the pointer to the NICState. In some cases, it frees data belonging to the NIC. However, this function is never called except when exiting from QEMU. It is not necessary to NULL pointers and free data here; the right place to do that would be in the device's unrealize function, after calling qemu_del_nic. Zeroing the NIC multiple times is also wrong for multiqueue devices. This cleanup function gets in the way of making the NetClientStates for the NIC hold an object_ref reference to the object, so get rid of it. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'hw/net/etraxfs_eth.c')
-rw-r--r--hw/net/etraxfs_eth.c13
1 files changed, 0 insertions, 13 deletions
diff --git a/hw/net/etraxfs_eth.c b/hw/net/etraxfs_eth.c
index 6a3c86db48..4773dea927 100644
--- a/hw/net/etraxfs_eth.c
+++ b/hw/net/etraxfs_eth.c
@@ -581,24 +581,11 @@ static const MemoryRegionOps eth_ops = {
}
};
-static void eth_cleanup(NetClientState *nc)
-{
- ETRAXFSEthState *eth = qemu_get_nic_opaque(nc);
-
- /* Disconnect the client. */
- eth->dma_out->client.push = NULL;
- eth->dma_out->client.opaque = NULL;
- eth->dma_in->client.opaque = NULL;
- eth->dma_in->client.pull = NULL;
- g_free(eth);
-}
-
static NetClientInfo net_etraxfs_info = {
.type = NET_CLIENT_OPTIONS_KIND_NIC,
.size = sizeof(NICState),
.can_receive = eth_can_receive,
.receive = eth_receive,
- .cleanup = eth_cleanup,
.link_status_changed = eth_set_link,
};