Index: uspace/drv/uhci-hcd/batch.c
===================================================================
--- uspace/drv/uhci-hcd/batch.c	(revision f4c87aa9e1bd6f52cdf28c377228883774f79768)
+++ uspace/drv/uhci-hcd/batch.c	(revision 9013ad360dbf7721051adae99e1d8b34e857be92)
@@ -141,5 +141,4 @@
 	usb_log_debug("Checking(%p) %d packet for completion.\n",
 	    instance, instance->packets);
-	/* This is just an ugly trick to support the old API */
 	instance->transfered_size = 0;
 	size_t i = 0;
@@ -157,4 +156,5 @@
 		    transfer_descriptor_actual_size(&instance->tds[i]);
 	}
+	/* This is just an ugly trick to support the old API */
 	instance->transfered_size -= instance->setup_size;
 	return true;
@@ -191,4 +191,6 @@
 	    0, 1, false, instance->target, USB_PID_IN, NULL, NULL);
 
+	instance->tds[i].status |= TD_STATUS_COMPLETE_INTERRUPT_FLAG;
+
 	instance->next_step = batch_call_out_and_dispose;
 	batch_schedule(instance);
@@ -221,4 +223,6 @@
 	transfer_descriptor_init(&instance->tds[i], DEFAULT_ERROR_COUNT,
 	    0, 1, false, instance->target, USB_PID_OUT, NULL, NULL);
+
+	instance->tds[i].status |= TD_STATUS_COMPLETE_INTERRUPT_FLAG;
 
 	instance->next_step = batch_call_in_and_dispose;
