Index: uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.c
===================================================================
--- uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.c	(revision 881c47b89a3f49cc8b416bd912851b33fcce20cb)
+++ uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.c	(revision 4192d3d642e595c7d2d4eba17d486bd571667652)
@@ -32,4 +32,5 @@
  * @brief UHCI driver
  */
+#include <errno.h>
 #include <usb/debug.h>
 
@@ -44,5 +45,4 @@
 	instance->next =
 	  0 | LINK_POINTER_TERMINATE_FLAG;
-
 
 	assert(size < 1024);
@@ -110,5 +110,13 @@
 	return USB_OUTCOME_OK;
 }
-
+/*----------------------------------------------------------------------------*/
+int transfer_descriptor_status(transfer_descriptor_t *instance)
+{
+	assert(instance);
+	if (convert_outcome(instance->status))
+		return EINVAL; //TODO: use sane error value here
+	return EOK;
+}
+/*----------------------------------------------------------------------------*/
 void transfer_descriptor_fini(transfer_descriptor_t *instance)
 {
Index: uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.h
===================================================================
--- uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.h	(revision 881c47b89a3f49cc8b416bd912851b33fcce20cb)
+++ uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.h	(revision 4192d3d642e595c7d2d4eba17d486bd571667652)
@@ -122,4 +122,6 @@
 }
 
+int transfer_descriptor_status(transfer_descriptor_t *instance);
+
 static inline void transfer_descriptor_append(
   transfer_descriptor_t *instance, transfer_descriptor_t *item)
@@ -127,5 +129,5 @@
 	assert(instance);
 	instance->next_va = item;
-	instance->next = (uintptr_t)addr_to_phys( item ) & LINK_POINTER_ADDRESS_MASK;
+	instance->next = (uintptr_t)addr_to_phys(item) & LINK_POINTER_ADDRESS_MASK;
 }
 #endif
