mirror of https://github.com/xemu-project/xemu.git
hw/xen: only remove peers of PCI NICs on unplug
When the Xen guest asks to unplug *emulated* NICs, it's kind of unhelpful also to unplug the peer of the *Xen* PV NIC. Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Reviewed-by: Paul Durrant <paul@xen.org>
This commit is contained in:
parent
a72ccc7fc4
commit
25511f3e8c
|
@ -140,9 +140,14 @@ static void unplug_nic(PCIBus *b, PCIDevice *d, void *o)
|
|||
/* Remove the peer of the NIC device. Normally, this would be a tap device. */
|
||||
static void del_nic_peer(NICState *nic, void *opaque)
|
||||
{
|
||||
NetClientState *nc;
|
||||
NetClientState *nc = qemu_get_queue(nic);
|
||||
ObjectClass *klass = module_object_class_by_name(nc->model);
|
||||
|
||||
/* Only delete peers of PCI NICs that we're about to delete */
|
||||
if (!klass || !object_class_dynamic_cast(klass, TYPE_PCI_DEVICE)) {
|
||||
return;
|
||||
}
|
||||
|
||||
nc = qemu_get_queue(nic);
|
||||
if (nc->peer)
|
||||
qemu_del_net_client(nc->peer);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue