aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Ekman <erik@kryo.se>2009-04-02 16:57:09 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-04-02 19:04:52 -0700
commitb277c884f7856ce0791b1e72079023a86767981b (patch)
tree583eee77a6ebc27efb8cd4e01fd21befcc27ffa0
parent8c655918b15691d3a97f4e9a7c3c0a6ac992e297 (diff)
pnpbios: propagate kthread_run() error
- 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>
-rw-r--r--drivers/pnp/pnpbios/core.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/pnp/pnpbios/core.c b/drivers/pnp/pnpbios/core.c
index e706d22b6dd..cfe86853feb 100644
--- a/drivers/pnp/pnpbios/core.c
+++ b/drivers/pnp/pnpbios/core.c
@@ -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;