Index: uspace/lib/usbdev/src/hub.c
===================================================================
--- uspace/lib/usbdev/src/hub.c	(revision 0d103aef79ca5d6b82df2eec9eab93e74195627e)
+++ uspace/lib/usbdev/src/hub.c	(revision a825eeb05c1e010a5e73089de2df743ccc767e34)
@@ -37,4 +37,5 @@
 #include <usb/dev/request.h>
 #include <usb/dev/recognise.h>
+#include <usb/debug.h>
 #include <usbhc_iface.h>
 #include <errno.h>
@@ -220,6 +221,6 @@
 	usb_address_t dev_addr = usb_hc_request_address(&hc_conn, dev_speed);
 	if (dev_addr < 0) {
-		usb_hc_connection_close(&hc_conn);
-		return EADDRNOTAVAIL;
+		rc = EADDRNOTAVAIL;
+		goto close_connection;
 	}
 
@@ -336,6 +337,5 @@
 		goto leave_release_free_address;
 	}
-	
-	usb_hc_connection_close(&hc_conn);
+
 
 	/*
@@ -349,7 +349,6 @@
 	}
 
-	return EOK;
-
-
+	rc = EOK;
+	goto close_connection;
 
 	/*
@@ -363,5 +362,8 @@
 	usb_hc_unregister_device(&hc_conn, dev_addr);
 
-	usb_hc_connection_close(&hc_conn);
+close_connection:
+	if (usb_hc_connection_close(&hc_conn) != EOK)
+		usb_log_warning("usb_hc_new_device_wrapper(): Failed to close "
+		    "connection.\n");
 
 	return rc;
