Index: uspace/srv/devman/devman.c
===================================================================
--- uspace/srv/devman/devman.c	(revision 58cbb0c86e6e40ca0b0b443214cf46d039d9e648)
+++ uspace/srv/devman/devman.c	(revision 08cba4b8a94988e64d6efb79b32a3f28694a26e9)
@@ -846,4 +846,12 @@
 		add_device(drv, dev, tree);
 	
+	fibril_mutex_lock(&drv->driver_mutex);
+	fibril_mutex_unlock(&drv->driver_mutex);
+
+	fibril_rwlock_write_lock(&tree->rwlock);
+	if (dev->pfun != NULL) {
+		dev->pfun->state = FUN_ON_LINE;
+	}
+	fibril_rwlock_write_unlock(&tree->rwlock);
 	return true;
 }
@@ -1106,4 +1114,5 @@
 		return NULL;
 	
+	fun->state = FUN_INIT;
 	atomic_set(&fun->refcnt, 0);
 	link_initialize(&fun->dev_functions);
@@ -1275,4 +1284,6 @@
 	dev->pfun->child = NULL;
 	dev->pfun = NULL;
+	
+	dev->state = DEVICE_REMOVED;
 }
 
@@ -1338,4 +1349,5 @@
 	
 	fun->dev = NULL;
+	fun->state = FUN_REMOVED;
 }
 
