diff options
Diffstat (limited to 'hw/e1000.c')
-rw-r--r-- | hw/e1000.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/hw/e1000.c b/hw/e1000.c index 2d16774dad..1729db28e1 100644 --- a/hw/e1000.c +++ b/hw/e1000.c @@ -1033,6 +1033,14 @@ e1000_mmio_map(PCIDevice *pci_dev, int region_num, excluded_regs[i] - 4); } +static void +e1000_cleanup(VLANClientState *vc) +{ + E1000State *d = vc->opaque; + + unregister_savevm("e1000", d); +} + static int pci_e1000_uninit(PCIDevice *dev) { @@ -1094,7 +1102,8 @@ pci_e1000_init(PCIBus *bus, NICInfo *nd, int devfn) memset(&d->tx, 0, sizeof d->tx); d->vc = qemu_new_vlan_client(nd->vlan, nd->model, nd->name, - e1000_receive, e1000_can_receive, d); + e1000_receive, e1000_can_receive, + e1000_cleanup, d); d->vc->link_status_changed = e1000_set_link_status; qemu_format_nic_info_str(d->vc, nd->macaddr); |