git: ba6c35f0cadb - main - usb: Use bus_detach_children instead of bus_generic_detach

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Wed, 12 Mar 2025 14:55:20 UTC
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=ba6c35f0cadbbcf37a89f193609c6dc90f08a8b2

commit ba6c35f0cadbbcf37a89f193609c6dc90f08a8b2
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2025-03-12 14:53:16 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2025-03-12 14:54:49 +0000

    usb: Use bus_detach_children instead of bus_generic_detach
    
    The USB bus performs additional teardown steps in between detaching
    child devices and deleting child devices.
    
    Reported by:    phk, thj
    Tested by:      phk
    Fixes:          e9d3857040a1 ("Use bus_detach_children instead of bus_generic_detach")
---
 sys/dev/usb/controller/usb_controller.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/dev/usb/controller/usb_controller.c b/sys/dev/usb/controller/usb_controller.c
index d717ad56adea..7e89a5ab0155 100644
--- a/sys/dev/usb/controller/usb_controller.c
+++ b/sys/dev/usb/controller/usb_controller.c
@@ -438,7 +438,7 @@ usb_bus_detach(struct usb_proc_msg *pm)
 
 	/* detach children first */
 	bus_topo_lock();
-	bus_generic_detach(dev);
+	bus_detach_children(dev);
 	bus_topo_unlock();
 
 	/*