Index: uspace/drv/audio/sb16/dsp.c
===================================================================
--- uspace/drv/audio/sb16/dsp.c	(revision ff396eab3112645fe1c7607eb45a89d6f77be1a8)
+++ uspace/drv/audio/sb16/dsp.c	(revision d2765ab38a8a3735eb4e357d7fba8d1fe0810c6e)
@@ -336,10 +336,5 @@
 	ddf_log_debug("Requested playback: %u frames, %uHz, %s, %u channel(s).",
 	    frames, sampling_rate, pcm_sample_format_str(format), channels);
-	if (channels != 1 && channels != 2)
-		return ENOTSUP;
-	if (sampling_rate > DSP_RATE_LIMIT)
-		return ENOTSUP;
-	// FIXME We only support 16 bit playback
-	if (format != PCM_SAMPLE_UINT16_LE && format != PCM_SAMPLE_SINT16_LE)
+	if (sb_dsp_test_format(dsp, &channels, &sampling_rate, &format) != EOK)
 		return ENOTSUP;
 
@@ -408,10 +403,5 @@
 	ddf_log_debug("Requested record: %u frames, %uHz, %s, %u channel(s).",
 	    frames, sampling_rate, pcm_sample_format_str(format), channels);
-	if (channels != 1 && channels != 2)
-		return ENOTSUP;
-	if (sampling_rate > DSP_RATE_LIMIT)
-		return ENOTSUP;
-	// FIXME We only support 16 bit recording
-	if (format != PCM_SAMPLE_UINT16_LE && format != PCM_SAMPLE_SINT16_LE)
+	if (sb_dsp_test_format(dsp, &channels, &sampling_rate, &format) != EOK)
 		return ENOTSUP;
 
