Index: uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.c
===================================================================
--- uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.c	(revision 9a818a93338eb8410dcc0917f9c3d49086134801)
+++ uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.c	(revision 3f189c5b1300e4403cf9b0abc4b174e243d325f4)
@@ -36,4 +36,5 @@
 
 #include "transfer_descriptor.h"
+#include "utils/malloc32.h"
 
 void transfer_descriptor_init(transfer_descriptor_t *instance,
@@ -58,7 +59,4 @@
 
 	instance->buffer_ptr = 0;
-
-	instance->next_va = NULL;
-	instance->callback = NULL;
 
 	if (size) {
@@ -118,13 +116,4 @@
 	return EOK;
 }
-/*----------------------------------------------------------------------------*/
-void transfer_descriptor_fini(transfer_descriptor_t *instance)
-{
-	assert(instance);
-	callback_run(instance->callback,
-		convert_outcome(instance->status),
-		((instance->status >> TD_STATUS_ACTLEN_POS) + 1) & TD_STATUS_ACTLEN_MASK
-	);
-}
 /**
  * @}
Index: uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.h
===================================================================
--- uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.h	(revision 9a818a93338eb8410dcc0917f9c3d49086134801)
+++ uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.h	(revision 3f189c5b1300e4403cf9b0abc4b174e243d325f4)
@@ -38,6 +38,4 @@
 #include <usb/usb.h>
 
-#include "utils/malloc32.h"
-#include "callback.h"
 #include "link_pointer.h"
 
@@ -86,11 +84,8 @@
 	volatile uint32_t buffer_ptr;
 
-	/* there is 16 bytes of data available here
-	 * those are used to store callback pointer
-	 * and next pointer. Thus, there is some free space
-	 * on 32bits systems.
+	/* there is 16 bytes of data available here, according to UHCI
+	 * Design guide, according to linux kernel the hardware does not care
+	 * we don't use it anyway
 	 */
-	struct transfer_descriptor *next_va;
-	callback_t *callback;
 } __attribute__((packed)) transfer_descriptor_t;
 
@@ -100,25 +95,4 @@
 	int pid, void *buffer);
 
-static inline transfer_descriptor_t * transfer_descriptor_get(
-  int error_count, size_t size, bool isochronous, usb_target_t target,
-  int pid, void *buffer)
-{
-	transfer_descriptor_t * instance =
-	  malloc32(sizeof(transfer_descriptor_t));
-
-	if (instance)
-		transfer_descriptor_init(
-		  instance, error_count, size, isochronous, target, pid, buffer);
-	return instance;
-}
-
-void transfer_descriptor_fini(transfer_descriptor_t *instance);
-
-static inline void transfer_descriptor_dispose(transfer_descriptor_t *instance)
-{
-	assert(instance);
-	transfer_descriptor_fini(instance);
-	free32(instance);
-}
 
 int transfer_descriptor_status(transfer_descriptor_t *instance);
@@ -130,12 +104,4 @@
 	return instance->status & TD_STATUS_ERROR_ACTIVE;
 }
-
-static inline void transfer_descriptor_append(
-  transfer_descriptor_t *instance, transfer_descriptor_t *item)
-{
-	assert(instance);
-	instance->next_va = item;
-	instance->next = (uintptr_t)addr_to_phys(item) & LINK_POINTER_ADDRESS_MASK;
-}
 #endif
 /**
