aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/virtio/pci/virtio_pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/virtio/pci/virtio_pci.c')
-rw-r--r--sys/dev/virtio/pci/virtio_pci.c14
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);
}