Index: sys/dev/pci/vga_pci.c =================================================================== --- sys/dev/pci/vga_pci.c +++ sys/dev/pci/vga_pci.c @@ -283,6 +283,16 @@ } static int +vga_pci_detach(device_t dev) +{ + int rc; + + if ((rc = bus_generic_detach(dev)) == 0) + rc = device_delete_children(dev); + return (rc); +} + +static int vga_pci_resume(device_t dev) { @@ -620,6 +630,7 @@ DEVMETHOD(device_attach, vga_pci_attach), DEVMETHOD(device_shutdown, bus_generic_shutdown), DEVMETHOD(device_suspend, vga_pci_suspend), + DEVMETHOD(device_detach, vga_pci_detach), DEVMETHOD(device_resume, vga_pci_resume), /* Bus interface */