Index: uspace/drv/ohci/batch.c
===================================================================
--- uspace/drv/ohci/batch.c	(revision 7013b14b3a18e6a7ccde76e9c2b111d1eb64af46)
+++ uspace/drv/ohci/batch.c	(revision 8989f48f9bfa498b808c36381eebab4f7955d89d)
@@ -164,6 +164,10 @@
 		}
 	}
-	data->leave_td = ++i;
+	data->leave_td = i;
 	assert(data->leave_td <= data->td_count);
+	hcd_endpoint_t *hcd_ep = hcd_endpoint_get(instance->ep);
+	assert(hcd_ep);
+	hcd_ep->td = data->tds[i];
+
 	return true;
 }
@@ -243,7 +247,5 @@
 	ohci_transfer_batch_t *data = instance->private_data;
 	assert(data);
-	ed_init(data->ed, instance->ep);
-//	ed_add_tds(data->ed, &data->tds[0], &data->tds[data->td_count - 1]);
-	usb_log_debug("Created ED(%p): %x:%x:%x:%x.\n", data->ed,
+	usb_log_debug("Using ED(%p): %x:%x:%x:%x.\n", data->ed,
 	    data->ed->status, data->ed->td_tail, data->ed->td_head,
 	    data->ed->next);
@@ -292,11 +294,8 @@
 	ohci_transfer_batch_t *data = instance->private_data;
 	assert(data);
-	ed_init(data->ed, instance->ep);
-//	ed_add_tds(data->ed, &data->tds[0], &data->tds[data->td_count - 1]);
-	usb_log_debug("Created ED(%p): %x:%x:%x:%x.\n", data->ed,
+	usb_log_debug("Using ED(%p): %x:%x:%x:%x.\n", data->ed,
 	    data->ed->status, data->ed->td_tail, data->ed->td_head,
 	    data->ed->next);
 
-	/* data stage */
 	size_t td_current = 0;
 	size_t remain_size = instance->buffer_size;
