Index: uspace/lib/c/generic/ipc.c
===================================================================
--- uspace/lib/c/generic/ipc.c	(revision d51a0d61e43baaf646db5fd0827b7e8c89b0f4f5)
+++ uspace/lib/c/generic/ipc.c	(revision 35f2bb1b3679723dd054eb5ad1d361a7a1b33ef6)
@@ -50,6 +50,5 @@
 
 /**
- * Structures of this type are used for keeping track
- * of sent asynchronous calls and queing unsent calls.
+ * Structures of this type are used for keeping track of sent asynchronous calls.
  */
 typedef struct {
@@ -72,12 +71,4 @@
 
 LIST_INITIALIZE(dispatched_calls);
-
-/** List of asynchronous calls that were not accepted by kernel.
- *
- * Protected by async_futex, because if the call is not accepted
- * by the kernel, the async framework is used automatically.
- *
- */
-LIST_INITIALIZE(queued_calls);
 
 static futex_t ipc_futex = FUTEX_INITIALIZER;
@@ -294,48 +285,4 @@
 	
 	return __SYSCALL2(SYS_IPC_ANSWER_SLOW, callid, (sysarg_t) &data);
-}
-
-/** Try to dispatch queued calls from the async queue.
- *
- */
-static void dispatch_queued_calls(void)
-{
-	/** @todo
-	 * Integrate intelligently ipc_futex so that it is locked during
-	 * ipc_call_async_*() until it is added to dispatched_calls.
-	 */
-	
-	futex_down(&async_futex);
-	
-	while (!list_empty(&queued_calls)) {
-		async_call_t *call =
-		    list_get_instance(list_first(&queued_calls), async_call_t, list);
-		ipc_callid_t callid =
-		    ipc_call_async_internal(call->u.msg.phoneid, &call->u.msg.data);
-		
-		list_remove(&call->list);
-		
-		futex_up(&async_futex);
-		
-		assert(call->fid);
-		fibril_add_ready(call->fid);
-		
-		if (callid == (ipc_callid_t) IPC_CALLRET_FATAL) {
-			if (call->callback)
-				call->callback(call->private, ENOENT, NULL);
-			
-			free(call);
-		} else {
-			call->u.callid = callid;
-			
-			futex_lock(&ipc_futex);
-			list_append(&call->list, &dispatched_calls);
-			futex_unlock(&ipc_futex);
-		}
-		
-		futex_down(&async_futex);
-	}
-	
-	futex_up(&async_futex);
 }
 
@@ -400,8 +347,6 @@
 	
 	/* Handle received answers */
-	if (callid & IPC_CALLID_ANSWERED) {
+	if (callid & IPC_CALLID_ANSWERED)
 		handle_answer(callid, call);
-		dispatch_queued_calls();
-	}
 	
 	return callid;
