Index: uspace/lib/drv/generic/remote_usb.c
===================================================================
--- uspace/lib/drv/generic/remote_usb.c	(revision 816f5f48c86652a41469235b97f890a3275083a0)
+++ uspace/lib/drv/generic/remote_usb.c	(revision bb784ae40ffd2eb0cda12cf5cc8254d941590b46)
@@ -463,13 +463,8 @@
 	}
 
-	void *buffer = malloc(sizeof(usb_endpoint_desc_t));
-	if (!buffer) {
-		async_answer_0(callid, ENOMEM);
-		return;
-	}
-
+	void *buffer = NULL;
 	size_t size = 0;
 	int rc = async_data_write_accept(&buffer, false,
-		1, sizeof(usb_endpoint_desc_t), 0, &size);
+		sizeof(usb_endpoint_desc_t), sizeof(usb_endpoint_desc_t), 0, &size);
 
 	if (rc != EOK) {
@@ -500,13 +495,8 @@
 	}
 
-	void *buffer = malloc(sizeof(usb_endpoint_desc_t));
-	if (!buffer) {
-		async_answer_0(callid, ENOMEM);
-		return;
-	}
-
+	void *buffer = NULL;
 	size_t size = 0;
 	int rc = async_data_write_accept(&buffer, false,
-		1, sizeof(usb_endpoint_desc_t), 0, &size);
+		sizeof(usb_endpoint_desc_t), sizeof(usb_endpoint_desc_t), 0, &size);
 
 	if (rc != EOK) {
