Index: uspace/drv/bus/usb/xhci/rh.c
===================================================================
--- uspace/drv/bus/usb/xhci/rh.c	(revision 19f004817f021dca631beaf412028483298418a7)
+++ uspace/drv/bus/usb/xhci/rh.c	(revision 17d34a8b81bc9c950a6fc924c5234554ce79ce7b)
@@ -122,9 +122,7 @@
 {
 	assert(rh);
-	for (unsigned i = 0; i < rh->max_ports; i++)
-		usb_port_fini(&rh->ports[i].base);
-
-	xhci_sw_ring_stop(&rh->event_ring);
-	joinable_fibril_join(rh->event_worker);
+	xhci_rh_stop(rh);
+
+	joinable_fibril_destroy(rh->event_worker);
 	xhci_sw_ring_fini(&rh->event_ring);
 	return EOK;
