Index: uspace/lib/usbhost/src/usb2_bus.c
===================================================================
--- uspace/lib/usbhost/src/usb2_bus.c	(revision 5e2b1ae6fe35b358dd5e76f6cedd1d7991973fe2)
+++ uspace/lib/usbhost/src/usb2_bus.c	(revision 3dc3f991ae1647de604511b72c9e9023346aaa12)
@@ -57,11 +57,30 @@
 }
 
-/** Get a free USB address
- *
- * @param[in] bus Device manager structure to use.
- * @return Free address, or error code.
- */
-static int get_free_address(usb2_bus_t *bus, usb_address_t *addr)
-{
+/** Unregister and destroy all endpoints using given address.
+ * @param bus usb_bus structure, non-null.
+ * @param address USB address.
+ * @param endpoint USB endpoint number.
+ * @param direction Communication direction.
+ * @return Error code.
+ */
+static int release_address(usb2_bus_t *bus, usb_address_t address)
+{
+	if (!usb_address_is_valid(address))
+		return EINVAL;
+
+	const int ret = bus->address_occupied[address] ? EOK : ENOENT;
+	bus->address_occupied[address] = false;
+	return ret;
+}
+
+/** Request USB address.
+ * @param bus usb_device_manager
+ * @param addr Pointer to requested address value, place to store new address
+ * @return Error code.
+ * @note Default address is only available in strict mode.
+ */
+static int request_address(usb2_bus_t *bus, usb_address_t *addr)
+{
+	// Find a free address
 	usb_address_t new_address = bus->last_address;
 	do {
@@ -72,52 +91,7 @@
 			return ENOSPC;
 	} while (bus->address_occupied[new_address]);
-
-	assert(new_address != USB_ADDRESS_DEFAULT);
 	bus->last_address = new_address;
 
 	*addr = new_address;
-	return EOK;
-}
-
-/** Unregister and destroy all endpoints using given address.
- * @param bus usb_bus structure, non-null.
- * @param address USB address.
- * @param endpoint USB endpoint number.
- * @param direction Communication direction.
- * @return Error code.
- */
-static int release_address(usb2_bus_t *bus, usb_address_t address)
-{
-	if (!usb_address_is_valid(address))
-		return EINVAL;
-
-	const int ret = bus->address_occupied[address] ? EOK : ENOENT;
-	bus->address_occupied[address] = false;
-	return ret;
-}
-
-/** Request USB address.
- * @param bus usb_device_manager
- * @param addr Pointer to requested address value, place to store new address
- * @return Error code.
- * @note Default address is only available in strict mode.
- */
-static int request_address(usb2_bus_t *bus, usb_address_t *addr)
-{
-	int err;
-
-	assert(bus);
-	assert(addr);
-
-	if (!usb_address_is_valid(*addr))
-		return EINVAL;
-
-	if ((err = get_free_address(bus, addr)))
-		return err;
-
-	assert(usb_address_is_valid(*addr));
-	assert(bus->address_occupied[*addr] == false);
-	assert(*addr != USB_ADDRESS_DEFAULT);
-
 	bus->address_occupied[*addr] = true;
 
