Index: uspace/drv/bus/usb/ohci/endpoint_list.c
===================================================================
--- uspace/drv/bus/usb/ohci/endpoint_list.c	(revision 65eac7b67b0bf71d40b3356ec132184b3e8dc80c)
+++ uspace/drv/bus/usb/ohci/endpoint_list.c	(revision 668a2e8367d0f5f467b2b9268a2f17c346c701d1)
@@ -162,5 +162,5 @@
 		qpos = "NOT FIRST";
 	}
-	assert((prev_ed->next & ED_NEXT_PTR_MASK) == addr_to_phys(ep->ed));
+	assert(ed_next(prev_ed) == addr_to_phys(ep->ed));
 	prev_ed->next = ep->ed->next;
 	/* Make sure ED is updated */
Index: uspace/drv/bus/usb/ohci/hw_struct/endpoint_descriptor.h
===================================================================
--- uspace/drv/bus/usb/ohci/hw_struct/endpoint_descriptor.h	(revision 65eac7b67b0bf71d40b3356ec132184b3e8dc80c)
+++ uspace/drv/bus/usb/ohci/hw_struct/endpoint_descriptor.h	(revision 668a2e8367d0f5f467b2b9268a2f17c346c701d1)
@@ -177,4 +177,10 @@
 }
 
+static inline uint32_t ed_next(const ed_t *instance)
+{
+	assert(instance);
+	return OHCI_RD(instance->next) & ED_NEXT_PTR_MASK;
+}
+
 /**
  * Get toggle bit value stored in this ED
