Index: uspace/drv/audio/sb16/dsp.c
===================================================================
--- uspace/drv/audio/sb16/dsp.c	(revision d2765ab38a8a3735eb4e357d7fba8d1fe0810c6e)
+++ uspace/drv/audio/sb16/dsp.c	(revision d7583011840e870ca79989e4f6adac769d986fa9)
@@ -330,5 +330,5 @@
 	assert(dsp);
 
-	if (!dsp->event_session)
+	if (!dsp->buffer.data)
 		return EINVAL;
 
@@ -341,4 +341,6 @@
 	/* Client requested regular interrupts */
 	if (frames) {
+		if (!dsp->event_session)
+			return EINVAL;
 		dsp->event_exchange = async_exchange_begin(dsp->event_session);
 		if (!dsp->event_exchange)
@@ -396,6 +398,5 @@
 {
 	assert(dsp);
-
-	if (!dsp->event_session)
+	if (!dsp->buffer.data)
 		return EINVAL;
 
@@ -408,4 +409,6 @@
 	/* client requested regular interrupts */
 	if (frames) {
+		if (!dsp->event_session)
+			return EINVAL;
 		dsp->event_exchange = async_exchange_begin(dsp->event_session);
 		if (!dsp->event_exchange)
