Index: uspace/lib/usbhost/include/usb/host/usb_endpoint_manager.h
===================================================================
--- uspace/lib/usbhost/include/usb/host/usb_endpoint_manager.h	(revision 3aac088c4251a2512f7137e32b9438b428fa0fe8)
+++ uspace/lib/usbhost/include/usb/host/usb_endpoint_manager.h	(revision 8a23fef1f898ea2f1207872951230522ced720b5)
@@ -86,4 +86,5 @@
 int usb_endpoint_manager_unregister_ep(
     usb_endpoint_manager_t *instance, endpoint_t *ep);
+
 endpoint_t * usb_endpoint_manager_find_ep(usb_endpoint_manager_t *instance,
     usb_address_t address, usb_endpoint_t ep, usb_direction_t direction);
@@ -101,12 +102,9 @@
     usb_target_t target, bool all);
 
-void usb_endpoint_manager_remove_address(usb_endpoint_manager_t *instance,
+int usb_endpoint_manager_remove_address(usb_endpoint_manager_t *instance,
     usb_address_t address, ep_remove_callback_t callback, void *arg);
 
 int usb_endpoint_manager_request_address(usb_endpoint_manager_t *instance,
     usb_address_t *address, bool strict, usb_speed_t speed);
-
-int usb_endpoint_manager_release_address(usb_endpoint_manager_t *instance,
-    usb_address_t address);
 
 int usb_endpoint_manager_get_info_by_address(usb_endpoint_manager_t *instance,
Index: uspace/lib/usbhost/src/hcd.c
===================================================================
--- uspace/lib/usbhost/src/hcd.c	(revision 3aac088c4251a2512f7137e32b9438b428fa0fe8)
+++ uspace/lib/usbhost/src/hcd.c	(revision 8a23fef1f898ea2f1207872951230522ced720b5)
@@ -117,8 +117,6 @@
 {
 	assert(hcd);
-	usb_endpoint_manager_remove_address(&hcd->ep_manager, address,
+	return usb_endpoint_manager_remove_address(&hcd->ep_manager, address,
 	    unregister_helper_warn, hcd);
-	usb_endpoint_manager_release_address(&hcd->ep_manager, address);
-	return EOK;
 }
 
Index: uspace/lib/usbhost/src/usb_endpoint_manager.c
===================================================================
--- uspace/lib/usbhost/src/usb_endpoint_manager.c	(revision 3aac088c4251a2512f7137e32b9438b428fa0fe8)
+++ uspace/lib/usbhost/src/usb_endpoint_manager.c	(revision 8a23fef1f898ea2f1207872951230522ced720b5)
@@ -369,9 +369,8 @@
 {
 	assert(instance);
-	if (!usb_target_is_valid(target)) {
-		return EINVAL;
-	}
-
-	int rc = ENOENT;
+	if (!usb_target_is_valid(target))
+		return EINVAL;
+
+	int ret = ENOENT;
 
 	fibril_mutex_lock(&instance->guard);
@@ -381,9 +380,9 @@
 		    && (all || ep->endpoint == target.endpoint)) {
 			endpoint_toggle_set(ep, 0);
-			rc = EOK;
+			ret = EOK;
 		}
 	}
 	fibril_mutex_unlock(&instance->guard);
-	return rc;
+	return ret;
 }
 
@@ -397,10 +396,16 @@
  * @return Error code.
  */
-void usb_endpoint_manager_remove_address(usb_endpoint_manager_t *instance,
+int usb_endpoint_manager_remove_address(usb_endpoint_manager_t *instance,
     usb_address_t address, ep_remove_callback_t callback, void *arg)
 {
-	assert(address >= 0);
-	assert(instance);
-	fibril_mutex_lock(&instance->guard);
+	assert(instance);
+	if (!usb_address_is_valid(address))
+		return EINVAL;
+
+	fibril_mutex_lock(&instance->guard);
+
+	const int ret = instance->devices[address].occupied ? EOK : ENOENT;
+	instance->devices[address].occupied = false;
+
 	list_foreach(*get_list(instance, address), iterator) {
 		endpoint_t *ep = endpoint_get_instance(iterator);
@@ -414,4 +419,5 @@
 	}
 	fibril_mutex_unlock(&instance->guard);
+	return ret;
 }
 
@@ -463,26 +469,4 @@
 }
 
-/** Release used USB address.
- *
- * @param[in] instance Device manager structure to use.
- * @param[in] address Device address
- * @return Error code.
- */
-int usb_endpoint_manager_release_address(
-    usb_endpoint_manager_t *instance, usb_address_t address)
-{
-	assert(instance);
-	if (!usb_address_is_valid(address))
-		return EINVAL;
-
-	fibril_mutex_lock(&instance->guard);
-
-	const int rc = instance->devices[address].occupied ? EOK : ENOENT;
-	instance->devices[address].occupied = false;
-
-	fibril_mutex_unlock(&instance->guard);
-	return rc;
-}
-
 /** Get speed assigned to USB address.
  *
@@ -502,5 +486,5 @@
 	fibril_mutex_lock(&instance->guard);
 
-	const int rc = instance->devices[address].occupied ? EOK : ENOENT;
+	const int ret = instance->devices[address].occupied ? EOK : ENOENT;
 	if (speed && instance->devices[address].occupied) {
 		*speed = instance->devices[address].speed;
@@ -508,5 +492,5 @@
 
 	fibril_mutex_unlock(&instance->guard);
-	return rc;
+	return ret;
 }
 /**
