Index: uspace/drv/bus/usb/xhci/transfers.c
===================================================================
--- uspace/drv/bus/usb/xhci/transfers.c	(revision 3f6c94ed25cbcbe1e9200e9631b1a3f5f894624d)
+++ uspace/drv/bus/usb/xhci/transfers.c	(revision 70108616235ce221aaa3a66cd84292e390a11def)
@@ -320,4 +320,10 @@
 	}
 
+	// FIXME: find a better way to check if the ring is not initialized
+	if (!xhci_ep->ring.segment_count) {
+		usb_log_error("Ring not initialized for endpoint num %u!", xhci_ep->base.endpoint);
+		return EINVAL;
+	}
+
 	const usb_transfer_type_t type = batch->ep->transfer_type;
 	assert(type >= 0 && type < ARRAY_SIZE(transfer_handlers));
@@ -328,4 +334,5 @@
 	}
 
+
 	if (batch->dir != USB_DIRECTION_IN) {
 		// Sending stuff from host to device, we need to copy the actual data.
