Index: uspace/lib/usbvirt/src/callback.c
===================================================================
--- uspace/lib/usbvirt/src/callback.c	(revision 11658b6402ef30f4b33c870d53939c869485ae26)
+++ uspace/lib/usbvirt/src/callback.c	(revision a1d12f4e5e4072fd2e04fe50804ee515788d3dae)
@@ -160,8 +160,11 @@
 			return;
 		}
-		async_data_read_finalize(callid, buffer, receive_len);
-	}
-	
-	ipc_answer_0(iid, rc);
+		if (len > receive_len) {
+			len = receive_len;
+		}
+		async_data_read_finalize(callid, buffer, len);
+	}
+	
+	ipc_answer_1(iid, rc, len);
 }
 
