static int stop_machine(void)
 {
        int i, ret = 0;
-       struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 };
-
-       /* One high-prio thread per cpu.  We'll do this one. */
-       sched_setscheduler(current, SCHED_FIFO, ¶m);
 
        atomic_set(&stopmachine_thread_ack, 0);
        stopmachine_num_threads = 0;
 
        p = kthread_create(do_stop, &smdata, "kstopmachine");
        if (!IS_ERR(p)) {
+               struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 };
+
+               /* One high-prio thread per cpu.  We'll do this one. */
+               sched_setscheduler(p, SCHED_FIFO, ¶m);
                kthread_bind(p, cpu);
                wake_up_process(p);
                wait_for_completion(&smdata.done);