From d174ffca3a79171069cb041f81c2680a6e4809ed Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Thu, 2 Jan 2025 13:25:27 -0500 Subject: [PATCH] mfi: Use bus_generic_detach to simplify deleting children during detach Differential Revision: https://reviews.freebsd.org/D47973 --- sys/dev/mfi/mfi_pci.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sys/dev/mfi/mfi_pci.c b/sys/dev/mfi/mfi_pci.c index 82082e6b72c..65e8e30bf99 100644 --- a/sys/dev/mfi/mfi_pci.c +++ b/sys/dev/mfi/mfi_pci.c @@ -279,8 +279,7 @@ static int mfi_pci_detach(device_t dev) { struct mfi_softc *sc; - int error, devcount, i; - device_t *devlist; + int error; sc = device_get_softc(dev); @@ -294,13 +293,11 @@ mfi_pci_detach(device_t dev) sc->mfi_detaching = 1; mtx_unlock(&sc->mfi_io_lock); - if ((error = device_get_children(sc->mfi_dev, &devlist, &devcount)) != 0) { + error = bus_generic_detach(sc->mfi_dev); + if (error != 0) { sx_xunlock(&sc->mfi_config_lock); return error; } - for (i = 0; i < devcount; i++) - device_delete_child(sc->mfi_dev, devlist[i]); - free(devlist, M_TEMP); sx_xunlock(&sc->mfi_config_lock); EVENTHANDLER_DEREGISTER(shutdown_final, sc->mfi_eh);