diff options
Diffstat (limited to 'sys/dev/mfi/mfi_pci.c')
-rw-r--r-- | sys/dev/mfi/mfi_pci.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/sys/dev/mfi/mfi_pci.c b/sys/dev/mfi/mfi_pci.c index de7d88556c8c..65e8e30bf994 100644 --- a/sys/dev/mfi/mfi_pci.c +++ b/sys/dev/mfi/mfi_pci.c @@ -112,7 +112,7 @@ SYSCTL_INT(_hw_mfi, OID_AUTO, msi, CTLFLAG_RDTUN, &mfi_msi, 0, static int mfi_mrsas_enable; SYSCTL_INT(_hw_mfi, OID_AUTO, mrsas_enable, CTLFLAG_RDTUN, &mfi_mrsas_enable, - 0, "Allow mrasas to take newer cards"); + 0, "Allow mrsas to take newer cards"); struct mfi_ident { uint16_t vendor; @@ -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); |