diff options
author | Erik Ekman <erik@kryo.se> | 2009-04-02 16:57:09 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-02 19:04:52 -0700 |
commit | b277c884f7856ce0791b1e72079023a86767981b (patch) | |
tree | 583eee77a6ebc27efb8cd4e01fd21befcc27ffa0 /drivers | |
parent | 8c655918b15691d3a97f4e9a7c3c0a6ac992e297 (diff) | |
download | lwn-b277c884f7856ce0791b1e72079023a86767981b.tar.gz lwn-b277c884f7856ce0791b1e72079023a86767981b.zip |
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pnp/pnpbios/core.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/pnp/pnpbios/core.c b/drivers/pnp/pnpbios/core.c index e706d22b6dd1..cfe86853feb2 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; |