Index: uspace/lib/usbhost/src/hcd.c
===================================================================
--- uspace/lib/usbhost/src/hcd.c	(revision a3886bedd094a88a9980282f8f832d35546d9a2b)
+++ uspace/lib/usbhost/src/hcd.c	(revision 32c2c8ff3a269049cd57134f1bd558c595b7f35d)
@@ -243,4 +243,5 @@
 	    ep, data, size, setup_data, in, out, arg);
 	if (!batch) {
+		usb_log_error("Failed to create transfer batch.\n");
 		return ENOMEM;
 	}
@@ -255,5 +256,5 @@
 typedef struct {
 	volatile unsigned done;
-	int ret;	
+	int ret;
 	size_t size;
 } sync_data_t;
@@ -284,12 +285,14 @@
 	sync_data_t sd = { .done = 0, .ret = EINPROGRESS, .size = size };
 
-	int ret = hcd_send_batch(hcd, target, dir, data, size, setup_data,
+	const int ret = hcd_send_batch(hcd, target, dir, data, size, setup_data,
 	    dir == USB_DIRECTION_IN ? transfer_in_cb : NULL,
 	    dir == USB_DIRECTION_OUT ? transfer_out_cb : NULL, &sd, name);
 	if (ret != EOK)
 		return ret;
-	do {
+
+	while (!sd.done) {
 		async_usleep(1000);
-	} while (!sd.done);
+	}
+
 	if (sd.ret == EOK)
 		return sd.size;
