Index: uspace/lib/usb/src/hc.c
===================================================================
--- uspace/lib/usb/src/hc.c	(revision a56a13c7b40e6a52751e3e94e14a82368b87728f)
+++ uspace/lib/usb/src/hc.c	(revision a0487a2c613742b57dcb941a4dc7c689386a0983)
@@ -64,4 +64,10 @@
 	assert(connection);
 	fibril_mutex_lock(&connection->guard);
+	if (connection->ref_count == 0) {
+		/* Closing already closed connection... */
+		assert(connection->hc_sess = NULL);
+		fibril_mutex_unlock(&connection->guard);
+		return EOK;
+	}
 	--connection->ref_count;
 	int ret = EOK;
@@ -232,5 +238,5 @@
 }
 /*----------------------------------------------------------------------------*/
-int usb_hc_control_read(usb_hc_connection_t *connection, usb_address_t address,
+int usb_hc_read(usb_hc_connection_t *connection, usb_address_t address,
     usb_endpoint_t endpoint, uint64_t setup, void *data, size_t size,
     size_t *real_size)
@@ -246,5 +252,5 @@
 }
 /*----------------------------------------------------------------------------*/
-int usb_hc_control_write(usb_hc_connection_t *connection, usb_address_t address,
+int usb_hc_write(usb_hc_connection_t *connection, usb_address_t address,
     usb_endpoint_t endpoint, uint64_t setup, const void *data, size_t size)
 {
