]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - kernel/kthread.c
kthread_bind: use wait_task_inactive(TASK_UNINTERRUPTIBLE)
[linux-2.6-omap-h63xx.git] / kernel / kthread.c
index 96cff2f8710baac71e7ce91ec96202665142b5e8..14ec64fe175ad5a742aac30718362a1f6875e9af 100644 (file)
@@ -171,12 +171,11 @@ EXPORT_SYMBOL(kthread_create);
  */
 void kthread_bind(struct task_struct *k, unsigned int cpu)
 {
-       if (k->state != TASK_UNINTERRUPTIBLE) {
+       /* Must have done schedule() in kthread() before we set_task_cpu */
+       if (!wait_task_inactive(k, TASK_UNINTERRUPTIBLE)) {
                WARN_ON(1);
                return;
        }
-       /* Must have done schedule() in kthread() before we set_task_cpu */
-       wait_task_inactive(k, 0);
        set_task_cpu(k, cpu);
        k->cpus_allowed = cpumask_of_cpu(cpu);
        k->rt.nr_cpus_allowed = 1;