Index: uspace/lib/usbdev/include/usb/dev/usb_device_connection.h
===================================================================
--- uspace/lib/usbdev/include/usb/dev/usb_device_connection.h	(revision c80448411a8de93942f2321d3e209c33631da03e)
+++ uspace/lib/usbdev/include/usb/dev/usb_device_connection.h	(revision 3538b0ef16b28adc88958fd79af2bc5a68f443ab)
@@ -57,12 +57,8 @@
 {
 	assert(connection);
-
-	if (hc_connection == NULL) {
+	if (hc_connection == NULL)
 		return EBADMEM;
-	}
-
-	if ((address < 0) || (address >= USB11_ADDRESS_MAX)) {
+	if ((address < 0) || (address >= USB11_ADDRESS_MAX))
 		return EINVAL;
-	}
 
 	connection->hc_connection = hc_connection;
@@ -70,17 +66,4 @@
 	return EOK;
 }
-/*----------------------------------------------------------------------------*/
-/** Initialize connection to USB device on default address.
- *
- * @param dev_connection Device connection structure to be initialized.
- * @param hc_connection Initialized connection to host controller.
- * @return Error code.
- */
-static inline int usb_device_connection_initialize_on_default_address(
-    usb_device_connection_t *connection, usb_hc_connection_t *hc_conn)
-{
-	return usb_device_connection_initialize(connection, hc_conn, 0);
-}
-
 /*----------------------------------------------------------------------------*/
 static inline int usb_device_register_endpoint(usb_device_connection_t *conn,
Index: uspace/lib/usbdev/src/hub.c
===================================================================
--- uspace/lib/usbdev/src/hub.c	(revision c80448411a8de93942f2321d3e209c33631da03e)
+++ uspace/lib/usbdev/src/hub.c	(revision 3538b0ef16b28adc88958fd79af2bc5a68f443ab)
@@ -230,6 +230,6 @@
 	/* Initialize connection to device. */
 	usb_device_connection_t dev_conn;
-	rc = usb_device_connection_initialize_on_default_address(
-	    &dev_conn, hc_conn);
+	rc = usb_device_connection_initialize(
+	    &dev_conn, hc_conn, USB_ADDRESS_DEFAULT);
 	if (rc != EOK) {
 		rc = ENOTCONN;
@@ -237,17 +237,18 @@
 	}
 
+	/* Initialize control pipe on default address. Don't register yet. */
+	usb_pipe_t ctrl_pipe;
+	rc = usb_pipe_initialize_default_control(&ctrl_pipe, &dev_conn);
+	if (rc != EOK) {
+		rc = ENOTCONN;
+		goto leave_release_free_address;
+	}
+
 	/*
-	 * We will not register control pipe on default address.
-	 * The registration might fail. That means that someone else already
-	 * registered that endpoint. We will simply wait and try again.
+	 * The default address request might fail.
+	 * That means that someone else is already using that address.
+	 * We will simply wait and try again.
 	 * (Someone else already wants to add a new device.)
 	 */
-	usb_pipe_t ctrl_pipe;
-	rc = usb_pipe_initialize_default_control(&ctrl_pipe, &dev_conn);
-	if (rc != EOK) {
-		rc = ENOTCONN;
-		goto leave_release_free_address;
-	}
-
 	do {
 		rc = usb_hc_request_address(hc_conn, USB_ADDRESS_DEFAULT,
@@ -262,5 +263,5 @@
 	}
 
-	/* Register control pipe on default address. */
+	/* Register control pipe on default address. 0 means no interval. */
 	rc = usb_pipe_register(&ctrl_pipe, 0);
 	if (rc != EOK) {
@@ -270,5 +271,4 @@
 
 	struct timeval end_time;
-
 	rc = gettimeofday(&end_time, NULL);
 	if (rc != EOK) {
@@ -353,5 +353,7 @@
 	 */
 leave_release_default_address:
-	usb_hc_unregister_device(hc_conn, USB_ADDRESS_DEFAULT);
+	if (usb_hc_unregister_device(hc_conn, USB_ADDRESS_DEFAULT) != EOK)
+		usb_log_warning("%s: Failed to unregister defaut device.\n",
+		    __FUNCTION__);
 
 leave_release_free_address:
Index: uspace/lib/usbdev/src/pipes.c
===================================================================
--- uspace/lib/usbdev/src/pipes.c	(revision c80448411a8de93942f2321d3e209c33631da03e)
+++ uspace/lib/usbdev/src/pipes.c	(revision 3538b0ef16b28adc88958fd79af2bc5a68f443ab)
@@ -31,5 +31,5 @@
  */
 /** @file
- * USB endpoint pipes miscellaneous functions.
+ * USB endpoint pipes functions.
  */
 #include <usb/dev/pipes.h>
Index: uspace/lib/usbdev/src/pipesinit.c
===================================================================
--- uspace/lib/usbdev/src/pipesinit.c	(revision c80448411a8de93942f2321d3e209c33631da03e)
+++ uspace/lib/usbdev/src/pipesinit.c	(revision 3538b0ef16b28adc88958fd79af2bc5a68f443ab)
@@ -31,5 +31,5 @@
  */
 /** @file
- * Initialization of endpoint pipes.
+ * Non trivial initialization of endpoint pipes.
  *
  */
