Revision 01657c86

b/hw/virtio-net.c
60 60
        uint8_t *macs;
61 61
    } mac_table;
62 62
    uint32_t *vlans;
63
    DeviceState *qdev;
63 64
} VirtIONet;
64 65

  
65 66
/* TODO
......
890 891
VirtIODevice *virtio_net_init(DeviceState *dev, NICConf *conf)
891 892
{
892 893
    VirtIONet *n;
893
    static int virtio_net_id;
894 894

  
895 895
    n = (VirtIONet *)virtio_common_init("virtio-net", VIRTIO_ID_NET,
896 896
                                        sizeof(struct virtio_net_config),
......
923 923

  
924 924
    n->vlans = qemu_mallocz(MAX_VLAN >> 3);
925 925

  
926
    register_savevm(NULL, "virtio-net", virtio_net_id++, VIRTIO_NET_VM_VERSION,
926
    n->qdev = dev;
927
    register_savevm(dev, "virtio-net", -1, VIRTIO_NET_VM_VERSION,
927 928
                    virtio_net_save, virtio_net_load, n);
928 929
    n->vmstate = qemu_add_vm_change_state_handler(virtio_net_vmstate_change, n);
929 930

  
......
941 942

  
942 943
    qemu_purge_queued_packets(&n->nic->nc);
943 944

  
944
    unregister_savevm(NULL, "virtio-net", n);
945
    unregister_savevm(n->qdev, "virtio-net", n);
945 946

  
946 947
    qemu_free(n->mac_table.macs);
947 948
    qemu_free(n->vlans);

Also available in: Unified diff