summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-12-01 07:47:52 +0100
committerStephen Rothwell <sfr@canb.auug.org.au>2009-12-01 18:29:16 +1100
commitf8f5d736ed0465cfd64fbcdc2325f4438fa2b81e (patch)
tree2183f70341ccfac90348a041a7f6107e4d4c3319
parent3304dd0b27c1abe4360a1707667a97526955438d (diff)
slow-work: Fix build bug in the !CONFIG_MODULES case
Commit 3bde31a ("SLOW_WORK: Allow a requeueable work item to sleep till the thread is needed") broke the !CONFIG_MODULES build by relying on variables that are only available (and only make sense) with module support enabled. Fix it. Cc: David Howells <dhowells@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--kernel/slow-work.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/slow-work.c b/kernel/slow-work.c
index 0f2f48a0d703..4e4d838d4c0a 100644
--- a/kernel/slow-work.c
+++ b/kernel/slow-work.c
@@ -307,7 +307,9 @@ auto_requeue:
else
list_add_tail(&work->link, &slow_work_queue);
spin_unlock_irq(&slow_work_queue_lock);
+#ifdef CONFIG_MODULES
slow_work_thread_processing[id] = NULL;
+#endif
return true;
}
@@ -940,6 +942,7 @@ EXPORT_SYMBOL(slow_work_register_user);
*/
static void slow_work_wait_for_items(struct module *module)
{
+#ifdef CONFIG_MODULES
DECLARE_WAITQUEUE(myself, current);
struct slow_work *work;
int loop;
@@ -986,6 +989,7 @@ static void slow_work_wait_for_items(struct module *module)
remove_wait_queue(&slow_work_unreg_wq, &myself);
mutex_unlock(&slow_work_unreg_sync_lock);
+#endif
}
/**