]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/pnp/pnpbios/core.c
Merge branch 'omap-pool'
[linux-2.6-omap-h63xx.git] / drivers / pnp / pnpbios / core.c
index 996f6483807909b3c773e6bbbace9997135cbcd9..cfe86853feb28a3c26750777e6f0f3397561945d 100644 (file)
@@ -94,7 +94,6 @@ struct pnp_dev_node_info node_info;
 
 #ifdef CONFIG_HOTPLUG
 
-static int unloading = 0;
 static struct completion unload_sem;
 
 /*
@@ -158,7 +157,7 @@ static int pnp_dock_thread(void *unused)
        int docked = -1, d = 0;
 
        set_freezable();
-       while (!unloading) {
+       while (1) {
                int status;
 
                /*
@@ -575,8 +574,6 @@ fs_initcall(pnpbios_init);
 
 static int __init pnpbios_thread_init(void)
 {
-       struct task_struct *task;
-
 #if defined(CONFIG_PPC)
        if (check_legacy_ioport(PNPBIOS_BASE))
                return 0;
@@ -584,10 +581,13 @@ static int __init pnpbios_thread_init(void)
        if (pnpbios_disabled)
                return 0;
 #ifdef CONFIG_HOTPLUG
-       init_completion(&unload_sem);
-       task = kthread_run(pnp_dock_thread, NULL, "kpnpbiosd");
-       if (!IS_ERR(task))
-               unloading = 0;
+       {
+               struct task_struct *task;
+               init_completion(&unload_sem);
+               task = kthread_run(pnp_dock_thread, NULL, "kpnpbiosd");
+               if (IS_ERR(task))
+                       return PTR_ERR(task);
+       }
 #endif
        return 0;
 }