diff options
Diffstat (limited to 'sys/dev/virtio/pci/virtio_pci.c')
-rw-r--r-- | sys/dev/virtio/pci/virtio_pci.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/sys/dev/virtio/pci/virtio_pci.c b/sys/dev/virtio/pci/virtio_pci.c index 4d93e94e59f2..b7b34b448f6e 100644 --- a/sys/dev/virtio/pci/virtio_pci.c +++ b/sys/dev/virtio/pci/virtio_pci.c @@ -168,7 +168,7 @@ vtpci_add_child(struct vtpci_common *cn) dev = cn->vtpci_dev; - child = device_add_child(dev, NULL, -1); + child = device_add_child(dev, NULL, DEVICE_UNIT_ANY); if (child == NULL) { device_printf(dev, "cannot create child device\n"); return (ENOMEM); @@ -182,18 +182,14 @@ vtpci_add_child(struct vtpci_common *cn) int vtpci_delete_child(struct vtpci_common *cn) { - device_t dev, child; + device_t dev; int error; dev = cn->vtpci_dev; - child = cn->vtpci_child_dev; - if (child != NULL) { - error = device_delete_child(dev, child); - if (error) - return (error); - cn->vtpci_child_dev = NULL; - } + error = bus_generic_detach(dev); + if (error) + return (error); return (0); } |