Index: uspace/drv/bus/isa/isa.c
===================================================================
--- uspace/drv/bus/isa/isa.c	(revision faba83975da4ba5bb605f70d4e02e065f9513e84)
+++ uspace/drv/bus/isa/isa.c	(revision 9432f08eba4d1e73e651a39a4ddd8a0e79124fb5)
@@ -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;
 	}
