Index: uspace/drv/audio/hdaudio/hdaudio.c
===================================================================
--- uspace/drv/audio/hdaudio/hdaudio.c	(revision 09ab0a9afc9379f1604c0fd75cac2d9287ba022c)
+++ uspace/drv/audio/hdaudio/hdaudio.c	(revision 4f87a85ae8e0c4b41a1e0120338b46dd9654fc9c)
@@ -151,4 +151,5 @@
 {
 	ddf_fun_t *fun_pcm = NULL;
+	bool bound = false;
 	hda_t *hda = NULL;
 	hw_res_list_parsed_t res;
@@ -299,9 +300,17 @@
 	}
 
-	ddf_fun_add_to_category(fun_pcm, "audio-pcm");
+	bound = true;
+
+	rc = ddf_fun_add_to_category(fun_pcm, "audio-pcm");
+	if (rc != EOK) {
+		ddf_msg(LVL_ERROR, "Failed adding function to audio-pcm category.");
+		goto error;
+	}
 
 	hw_res_list_parsed_clean(&res);
 	return EOK;
 error:
+	if (bound)
+		ddf_fun_unbind(fun_pcm);
 	if (fun_pcm != NULL)
 		ddf_fun_destroy(fun_pcm);
