Index: uspace/drv/bus/usb/ehci/ehci_bus.c
===================================================================
--- uspace/drv/bus/usb/ehci/ehci_bus.c	(revision f82c48222fe87d2474a8989b9da079425289efb6)
+++ uspace/drv/bus/usb/ehci/ehci_bus.c	(revision bad4a050d11dd44a634a911a7e5a42918d984aab)
@@ -113,5 +113,5 @@
 }
 
-static int ehci_unregister_ep(endpoint_t *ep)
+static void ehci_unregister_ep(endpoint_t *ep)
 {
 	bus_t *bus_base = endpoint_get_bus(ep);
@@ -120,10 +120,6 @@
 	assert(ep);
 
-	const int err = usb2_bus_ops.endpoint_unregister(ep);
-	if (err)
-		return err;
-
+	usb2_bus_ops.endpoint_unregister(ep);
 	hc_dequeue_endpoint(bus->hc, ep);
-	return EOK;
 }
 
Index: uspace/drv/bus/usb/ohci/ohci_bus.c
===================================================================
--- uspace/drv/bus/usb/ohci/ohci_bus.c	(revision f82c48222fe87d2474a8989b9da079425289efb6)
+++ uspace/drv/bus/usb/ohci/ohci_bus.c	(revision bad4a050d11dd44a634a911a7e5a42918d984aab)
@@ -118,15 +118,11 @@
 }
 
-static int ohci_unregister_ep(endpoint_t *ep)
+static void ohci_unregister_ep(endpoint_t *ep)
 {
 	ohci_bus_t *bus = (ohci_bus_t *) endpoint_get_bus(ep);
 	assert(ep);
 
-	const int err = usb2_bus_ops.endpoint_unregister(ep);
-	if (err)
-		return err;
-
+	usb2_bus_ops.endpoint_unregister(ep);
 	hc_dequeue_endpoint(bus->hc, ep);
-	return EOK;
 }
 
Index: uspace/drv/bus/usb/xhci/bus.c
===================================================================
--- uspace/drv/bus/usb/xhci/bus.c	(revision f82c48222fe87d2474a8989b9da079425289efb6)
+++ uspace/drv/bus/usb/xhci/bus.c	(revision bad4a050d11dd44a634a911a7e5a42918d984aab)
@@ -193,6 +193,4 @@
 }
 
-static int endpoint_unregister(endpoint_t *);
-
 /**
  * Remove device from XHCI bus. Transition it to the offline state, abort all
@@ -205,5 +203,5 @@
  * @return Error code.
  */
-static int device_remove(device_t *dev)
+static void device_remove(device_t *dev)
 {
 	int err;
@@ -249,8 +247,5 @@
 			continue;
 
-		if ((err = endpoint_unregister(dev->endpoints[i]))) {
-			usb_log_warning("Failed to unregister endpoint " XHCI_EP_FMT ": %s",
-			    XHCI_EP_ARGS(*xhci_device_get_endpoint(xhci_dev, i)), str_error(err));
-		}
+		bus_endpoint_remove(dev->endpoints[i]);
 	}
 
@@ -258,6 +253,4 @@
 	/* XXX: Not a good idea, this method should not destroy devices. */
 	hcd_ddf_fun_destroy(dev);
-
-	return EOK;
 }
 
@@ -415,5 +408,5 @@
  * Bus callback.
  */
-static int endpoint_unregister(endpoint_t *ep_base)
+static void endpoint_unregister(endpoint_t *ep_base)
 {
 	int err;
@@ -433,6 +426,4 @@
 		    " the slot has already been disabled.", XHCI_EP_ARGS(*ep));
 	}
-
-	return EOK;
 }
 
Index: uspace/drv/bus/usb/xhci/rh.c
===================================================================
--- uspace/drv/bus/usb/xhci/rh.c	(revision f82c48222fe87d2474a8989b9da079425289efb6)
+++ uspace/drv/bus/usb/xhci/rh.c	(revision bad4a050d11dd44a634a911a7e5a42918d984aab)
@@ -188,5 +188,4 @@
 {
 	assert(rh);
-	int err;
 
 	/* Find XHCI device by the port. */
@@ -207,8 +206,5 @@
 
 	/* Remove device from XHCI bus. */
-	if ((err = bus_device_remove(&dev->base))) {
-		usb_log_warning("Failed to remove device " XHCI_DEV_FMT " from XHCI bus: %s",
-		    XHCI_DEV_ARGS(*dev), str_error(err));
-	}
+	bus_device_remove(&dev->base);
 
 	return EOK;
