diff --git a/sys/dev/puc/puc.c b/sys/dev/puc/puc.c --- a/sys/dev/puc/puc.c +++ b/sys/dev/puc/puc.c @@ -373,10 +373,9 @@ return (0); fail: + device_delete_children(dev); for (idx = 0; idx < sc->sc_nports; idx++) { port = &sc->sc_port[idx]; - if (port->p_dev != NULL) - device_delete_child(dev, port->p_dev); if (port->p_rres != NULL) rman_release_resource(port->p_rres); if (port->p_ires != NULL)