Index: uspace/lib/drv/generic/remote_usbdiag.c
===================================================================
--- uspace/lib/drv/generic/remote_usbdiag.c	(revision 3bacee1839e6f355100ab4ea86bb211e9ecf19ed)
+++ uspace/lib/drv/generic/remote_usbdiag.c	(revision b83ec692ece791c1367db526f77c9d28fd800692)
@@ -126,8 +126,6 @@
 }
 
-static void remote_usbdiag_test_in(ddf_fun_t *, void *,
-    cap_call_handle_t, ipc_call_t *);
-static void remote_usbdiag_test_out(ddf_fun_t *, void *,
-    cap_call_handle_t, ipc_call_t *);
+static void remote_usbdiag_test_in(ddf_fun_t *, void *, ipc_call_t *);
+static void remote_usbdiag_test_out(ddf_fun_t *, void *, ipc_call_t *);
 
 /** Remote USB diagnostic interface operations. */
@@ -143,26 +141,25 @@
 };
 
-void remote_usbdiag_test_in(ddf_fun_t *fun, void *iface,
-    cap_call_handle_t chandle, ipc_call_t *call)
+void remote_usbdiag_test_in(ddf_fun_t *fun, void *iface, ipc_call_t *call)
 {
 	const usbdiag_iface_t *diag_iface = (usbdiag_iface_t *) iface;
 
+	ipc_call_t data;
 	size_t size;
-	cap_call_handle_t data_chandle;
-	if (!async_data_write_receive(&data_chandle, &size)) {
-		async_answer_0(data_chandle, EINVAL);
-		async_answer_0(chandle, EINVAL);
+	if (!async_data_write_receive(&data, &size)) {
+		async_answer_0(&data, EINVAL);
+		async_answer_0(call, EINVAL);
 		return;
 	}
 
 	if (size != sizeof(usbdiag_test_params_t)) {
-		async_answer_0(data_chandle, EINVAL);
-		async_answer_0(chandle, EINVAL);
+		async_answer_0(&data, EINVAL);
+		async_answer_0(call, EINVAL);
 		return;
 	}
 
 	usbdiag_test_params_t params;
-	if (async_data_write_finalize(data_chandle, &params, size) != EOK) {
-		async_answer_0(chandle, EINVAL);
+	if (async_data_write_finalize(&data, &params, size) != EOK) {
+		async_answer_0(call, EINVAL);
 		return;
 	}
@@ -173,50 +170,49 @@
 
 	if (ret != EOK) {
-		async_answer_0(chandle, ret);
-		return;
-	}
-
-	if (!async_data_read_receive(&data_chandle, &size)) {
-		async_answer_0(data_chandle, EINVAL);
-		async_answer_0(chandle, EINVAL);
+		async_answer_0(call, ret);
+		return;
+	}
+
+	if (!async_data_read_receive(&data, &size)) {
+		async_answer_0(&data, EINVAL);
+		async_answer_0(call, EINVAL);
 		return;
 	}
 
 	if (size != sizeof(usbdiag_test_results_t)) {
-		async_answer_0(data_chandle, EINVAL);
-		async_answer_0(chandle, EINVAL);
-		return;
-	}
-
-	if (async_data_read_finalize(data_chandle, &results, size) != EOK) {
-		async_answer_0(chandle, EINVAL);
-		return;
-	}
-
-	async_answer_0(chandle, ret);
-}
-
-void remote_usbdiag_test_out(ddf_fun_t *fun, void *iface,
-    cap_call_handle_t chandle, ipc_call_t *call)
+		async_answer_0(&data, EINVAL);
+		async_answer_0(call, EINVAL);
+		return;
+	}
+
+	if (async_data_read_finalize(&data, &results, size) != EOK) {
+		async_answer_0(call, EINVAL);
+		return;
+	}
+
+	async_answer_0(call, ret);
+}
+
+void remote_usbdiag_test_out(ddf_fun_t *fun, void *iface, ipc_call_t *call)
 {
 	const usbdiag_iface_t *diag_iface = (usbdiag_iface_t *) iface;
 
+	ipc_call_t data;
 	size_t size;
-	cap_call_handle_t data_chandle;
-	if (!async_data_write_receive(&data_chandle, &size)) {
-		async_answer_0(data_chandle, EINVAL);
-		async_answer_0(chandle, EINVAL);
+	if (!async_data_write_receive(&data, &size)) {
+		async_answer_0(&data, EINVAL);
+		async_answer_0(call, EINVAL);
 		return;
 	}
 
 	if (size != sizeof(usbdiag_test_params_t)) {
-		async_answer_0(data_chandle, EINVAL);
-		async_answer_0(chandle, EINVAL);
+		async_answer_0(&data, EINVAL);
+		async_answer_0(call, EINVAL);
 		return;
 	}
 
 	usbdiag_test_params_t params;
-	if (async_data_write_finalize(data_chandle, &params, size) != EOK) {
-		async_answer_0(chandle, EINVAL);
+	if (async_data_write_finalize(&data, &params, size) != EOK) {
+		async_answer_0(call, EINVAL);
 		return;
 	}
@@ -227,26 +223,26 @@
 
 	if (ret != EOK) {
-		async_answer_0(chandle, ret);
-		return;
-	}
-
-	if (!async_data_read_receive(&data_chandle, &size)) {
-		async_answer_0(data_chandle, EINVAL);
-		async_answer_0(chandle, EINVAL);
+		async_answer_0(call, ret);
+		return;
+	}
+
+	if (!async_data_read_receive(&data, &size)) {
+		async_answer_0(&data, EINVAL);
+		async_answer_0(call, EINVAL);
 		return;
 	}
 
 	if (size != sizeof(usbdiag_test_results_t)) {
-		async_answer_0(data_chandle, EINVAL);
-		async_answer_0(chandle, EINVAL);
-		return;
-	}
-
-	if (async_data_read_finalize(data_chandle, &results, size) != EOK) {
-		async_answer_0(chandle, EINVAL);
-		return;
-	}
-
-	async_answer_0(chandle, ret);
+		async_answer_0(&data, EINVAL);
+		async_answer_0(call, EINVAL);
+		return;
+	}
+
+	if (async_data_read_finalize(&data, &results, size) != EOK) {
+		async_answer_0(call, EINVAL);
+		return;
+	}
+
+	async_answer_0(call, ret);
 }
 
