Index: uspace/lib/drv/generic/remote_audio_pcm.c
===================================================================
--- uspace/lib/drv/generic/remote_audio_pcm.c	(revision 92b638c034f15cb008344be39773f82ec6481376)
+++ uspace/lib/drv/generic/remote_audio_pcm.c	(revision 5337491165b4427c340aa2cbb3d6ed6a2fd87af9)
@@ -154,8 +154,6 @@
  * @return Error code.
  */
-int audio_pcm_query_cap(audio_pcm_sess_t *sess, audio_cap_t cap, unsigned *val)
-{
-	if (!val)
-		return EINVAL;
+int audio_pcm_query_cap(audio_pcm_sess_t *sess, audio_cap_t cap)
+{
 	async_exch_t *exch = async_exchange_begin(sess);
 	sysarg_t value = 0;
@@ -163,7 +161,7 @@
 	    DEV_IFACE_ID(AUDIO_PCM_BUFFER_IFACE), IPC_M_AUDIO_PCM_QUERY_CAPS,
 	    cap, &value);
+	async_exchange_end(exch);
 	if (ret == EOK)
-		*val = value;
-	async_exchange_end(exch);
+		return value;
 	return ret;
 }
Index: uspace/lib/drv/include/audio_pcm_iface.h
===================================================================
--- uspace/lib/drv/include/audio_pcm_iface.h	(revision 92b638c034f15cb008344be39773f82ec6481376)
+++ uspace/lib/drv/include/audio_pcm_iface.h	(revision 5337491165b4427c340aa2cbb3d6ed6a2fd87af9)
@@ -72,5 +72,5 @@
 int audio_pcm_test_format(audio_pcm_sess_t *, unsigned *, unsigned *,
     pcm_sample_format_t *);
-int audio_pcm_query_cap(audio_pcm_sess_t *, audio_cap_t, unsigned *);
+int audio_pcm_query_cap(audio_pcm_sess_t *, audio_cap_t);
 int audio_pcm_register_event_callback(audio_pcm_sess_t *,
     async_client_conn_t, void *);
