Index: uspace/drv/audio/sb16/dsp.c
===================================================================
--- uspace/drv/audio/sb16/dsp.c	(revision c5c65b6dcdcf39d57aed9382a5eea486c8679901)
+++ uspace/drv/audio/sb16/dsp.c	(revision 9b3d99949c304f7210b580bfe18fd03e9dd442d1)
@@ -46,6 +46,5 @@
 
 #define BUFFER_ID 1
-#define BUFFER_SIZE (PAGE_SIZE)
-#define PLAY_BLOCK_SIZE (BUFFER_SIZE / 2)
+#define MAX_BUFFER_SIZE (PAGE_SIZE)
 
 #ifndef DSP_RETRY_COUNT
@@ -116,6 +115,6 @@
 {
 	assert(dsp);
-	if (size > BUFFER_SIZE || size == 0 || (size % 2) == 1)
-		size = BUFFER_SIZE;
+	if (size > MAX_BUFFER_SIZE || size == 0 || (size % 2) == 1)
+		size = MAX_BUFFER_SIZE;
 	uint8_t *buffer = dma_create_buffer24(size);
 	if (buffer == NULL) {
@@ -126,4 +125,5 @@
 	const uintptr_t pa = addr_to_phys(buffer);
 	assert(pa < (1 << 25));
+
 	/* Set 16 bit channel */
 	const int ret = sb_setup_dma(dsp, pa, size);
@@ -191,5 +191,4 @@
 	assert(dsp);
 	if (dsp->event_exchange) {
-//		ddf_log_verbose("Sending interrupt event.");
 		async_msg_0(dsp->event_exchange, IPC_FIRST_USER_METHOD);
 	} else {
@@ -248,6 +247,5 @@
 		return ENOENT;
 	sb_clear_buffer(dsp);
-	if (dsp->event_exchange)
-		async_exchange_end(dsp->event_exchange);
+	async_exchange_end(dsp->event_exchange);
 	dsp->event_exchange = NULL;
 	if (dsp->event_session)
@@ -273,7 +271,7 @@
 
 	/* Check supported parameters */
-	ddf_log_debug("Starting playback on buffer(%u): %uHz, %u bit, "
-	    " %u channel(s), %ssigned.", id, sampling_rate, sample_size,
-	    channels, sign ? "" : "un" );
+	ddf_log_debug("Requested playback on buffer \"%u\" (%u parts): %uHz, "
+	    "%ssinged %u bit, %u channel(s).", id, parts, sampling_rate,
+	    sign ? "" : "un", sample_size, channels);
 	if (id != BUFFER_ID)
 		return ENOENT;
@@ -293,5 +291,5 @@
 	sb_dsp_write(dsp, sampling_rate & 0xff);
 
-	ddf_log_debug("Sampling rate: %hhx:%hhx.",
+	ddf_log_verbose("Sampling rate: %hhx:%hhx.",
 	    sampling_rate >> 8, sampling_rate & 0xff);
 
@@ -310,4 +308,8 @@
 	sb_dsp_write(dsp, (dsp->playing.samples - 1) >> 8);
 
+	ddf_log_verbose("Playback started, interrupt every %u samples "
+	    "(~1/%u sec)", dsp->playing.samples,
+	    sampling_rate / dsp->playing.samples);
+
 	return EOK;
 }
