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;