pnpbios: propagate kthread_run() error
authorErik Ekman <erik@kryo.se>
Thu, 2 Apr 2009 23:57:09 +0000 (16:57 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Apr 2009 02:04:52 +0000 (19:04 -0700)
- Error code from kthread_run() is now returned in pnpbios_thread_init()

- Remove variable which always was 0.

Signed-off-by: Erik Ekman <erik@kryo.se>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/pnp/pnpbios/core.c

index e706d22b6dd103d6f2d24f2bfca35feb350bddae..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;
 
                /*
@@ -586,8 +585,8 @@ static int __init pnpbios_thread_init(void)
                struct task_struct *task;
                init_completion(&unload_sem);
                task = kthread_run(pnp_dock_thread, NULL, "kpnpbiosd");
-               if (!IS_ERR(task))
-                       unloading = 0;
+               if (IS_ERR(task))
+                       return PTR_ERR(task);
        }
 #endif
        return 0;