]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - kernel/stop_machine.c
Merge remote-tracking branch 'omap-pending/for-next'
[karo-tx-linux.git] / kernel / stop_machine.c
index 59096a55089f008ef30204a9712598b8cdf87d03..867bc20e1ef142a63349c345932af24b26a1adfc 100644 (file)
@@ -275,15 +275,6 @@ int stop_two_cpus(unsigned int cpu1, unsigned int cpu2, cpu_stop_fn_t fn, void *
        cpu_stop_init_done(&done, 2);
        set_state(&msdata, MULTI_STOP_PREPARE);
 
-       /*
-        * We do not want to migrate to inactive CPU. FIXME: move this
-        * into migrate_swap_stop() callback.
-        */
-       if (!cpu_active(cpu1) || !cpu_active(cpu2)) {
-               preempt_enable();
-               return -ENOENT;
-       }
-
        if (cpu1 > cpu2)
                swap(cpu1, cpu2);
        if (cpu_stop_queue_two_works(cpu1, &work1, cpu2, &work2)) {
@@ -504,20 +495,11 @@ static void cpu_stop_park(unsigned int cpu)
        WARN_ON(!list_empty(&stopper->works));
 }
 
-static void cpu_stop_unpark(unsigned int cpu)
-{
-       struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu);
-
-       spin_lock_irq(&stopper->lock);
-       stopper->enabled = true;
-       spin_unlock_irq(&stopper->lock);
-}
-
 void stop_machine_unpark(int cpu)
 {
        struct cpu_stopper *stopper = &per_cpu(cpu_stopper, cpu);
 
-       cpu_stop_unpark(cpu);
+       stopper->enabled = true;
        kthread_unpark(stopper->thread);
 }
 
@@ -527,7 +509,6 @@ static struct smp_hotplug_thread cpu_stop_threads = {
        .thread_fn              = cpu_stopper_thread,
        .thread_comm            = "migration/%u",
        .create                 = cpu_stop_create,
-       .setup                  = cpu_stop_unpark,
        .park                   = cpu_stop_park,
        .selfparking            = true,
 };