Index: uspace/drv/bus/isa/isa.c
===================================================================
--- uspace/drv/bus/isa/isa.c	(revision baf8fbb82149c476ee3345fb3d6899b34563415d)
+++ uspace/drv/bus/isa/isa.c	(revision 0bbd13e274302c7c89dd4ea7cad7dbcc3ecfc524)
@@ -201,6 +201,8 @@
 
 	isa_fun_t *fun = ddf_fun_data_alloc(fnode, sizeof(isa_fun_t));
-	if (fun == NULL)
+	if (fun == NULL) {
+		ddf_fun_destroy(fnode);
 		return NULL;
+	}
 
 	fibril_mutex_initialize(&fun->mutex);
@@ -552,6 +554,6 @@
 
 	isa_fun_t *fun = isa_fun_create(isa, fun_name);
+	free(fun_name);
 	if (fun == NULL) {
-		free(fun_name);
 		return NULL;
 	}
