Index: uspace/drv/bus/usb/ohci/hw_struct/endpoint_descriptor.c
===================================================================
--- uspace/drv/bus/usb/ohci/hw_struct/endpoint_descriptor.c	(revision 5856b627dd9852525f88109f58d955b5b633266d)
+++ uspace/drv/bus/usb/ohci/hw_struct/endpoint_descriptor.c	(revision dd7078cd83b34210e136db268a0c0f11fdf70e7c)
@@ -33,4 +33,5 @@
  */
 #include "endpoint_descriptor.h"
+#include "macros.h"
 
 /** USB direction to OHCI values translation table. */
@@ -61,6 +62,8 @@
 		return;
 	}
-	/* Non-dummy ED must have TD assigned */
+	/* Non-dummy ED must have corresponding EP and TD assigned */
 	assert(td);
+	assert(ep);
+	assert(ep->direction < ARRAY_SIZE(dir));
 
 	/* Status: address, endpoint nr, direction mask and max packet size. */
@@ -77,4 +80,5 @@
 
 	/* Isochronous format flag */
+	// TODO: We need iTD instead of TD for iso transfers
 	if (ep->transfer_type == USB_TRANSFER_ISOCHRONOUS)
 		OHCI_MEM32_SET(instance->status, ED_STATUS_F_FLAG);
