[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [6216] Add a model string to VLANClientState (Mark McLo
From: |
Stefan Weil |
Subject: |
Re: [Qemu-devel] [6216] Add a model string to VLANClientState (Mark McLoughlin) |
Date: |
Wed, 07 Jan 2009 20:23:15 +0100 |
User-agent: |
Mozilla-Thunderbird 2.0.0.17 (X11/20081018) |
Anthony Liguori schrieb:
> Revision: 6216
> http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6216
> Author: aliguori
> Date: 2009-01-07 17:42:25 +0000 (Wed, 07 Jan 2009)
>
> Log Message:
> -----------
> Add a model string to VLANClientState (Mark McLoughlin)
>
> Don't lose track of what type/model a vlan client is so that we can
> e.g. assign a global per-model id to clients.
>
> The entire patch is basically a tedious excercise in making sure the
> type/model string gets propagated down to qemu_new_vlan_client().
>
> Signed-off-by: Mark McLoughlin <address@hidden>
> Signed-off-by: Anthony Liguori <address@hidden>
>
> Modified Paths:
> --------------
> trunk/hw/e1000.c
> trunk/hw/eepro100.c
> trunk/hw/etraxfs_eth.c
> trunk/hw/mcf_fec.c
> trunk/hw/mipsnet.c
> trunk/hw/musicpal.c
> trunk/hw/ne2000.c
> trunk/hw/pcnet.c
> trunk/hw/rtl8139.c
> trunk/hw/smc91c111.c
> trunk/hw/stellaris_enet.c
> trunk/hw/usb-net.c
> trunk/hw/virtio-net.c
> trunk/net.c
> trunk/net.h
> trunk/sysemu.h
> trunk/tap-win32.c
>
> Modified: trunk/net.c
> ===================================================================
> --- trunk/net.c 2009-01-07 17:40:15 UTC (rev 6215)
> +++ trunk/net.c 2009-01-07 17:42:25 UTC (rev 6216)
> @@ -297,6 +297,7 @@
> #endif
>
> VLANClientState *qemu_new_vlan_client(VLANState *vlan,
> + const char *model,
> IOReadHandler *fd_read,
> IOCanRWHandler *fd_can_read,
> void *opaque)
> @@ -305,6 +306,7 @@
> vc = qemu_mallocz(sizeof(VLANClientState));
> if (!vc)
> return NULL;
> + vc->model = strdup(model);
>
Some targets don't force a value for model, so it can be NULL.
This raises a SIGSEGV crash. Should targets set model, or is
it better to catch this case here?
> vc->fd_read = fd_read;
> vc->fd_can_read = fd_can_read;
> vc->opaque = opaque;
> @@ -325,6 +327,7 @@
> while (*pvc != NULL)
> if (*pvc == vc) {
> *pvc = vc->next;
> + free(vc->model);
> free(vc);
> break;
> } else
>
>
Regards
Stefan Weil