On Sun, 28 Feb 2016, Thomas Gleixner wrote:
> 
> Understood. I'll fix that thing up so that won't happen and I put it on the
> list of things to look at deeper.

The below delta patch should do what you need, right?

Thanks,

        tglx

8<-------------

--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -1461,6 +1461,11 @@ static ssize_t write_cpuhp_target(struct
        if (target != CPUHP_OFFLINE && target != CPUHP_ONLINE)
                return -EINVAL;
 #endif
+
+       ret = lock_device_hotplug_sysfs();
+       if (ret)
+               return ret;
+
        mutex_lock(&cpuhp_state_mutex);
        sp = cpuhp_get_step(target);
        ret = !sp->name || sp->cant_stop ? -EINVAL : 0;
@@ -1472,6 +1477,8 @@ static ssize_t write_cpuhp_target(struct
                ret = do_cpu_up(dev->id, target);
        else
                ret = do_cpu_down(dev->id, target);
+
+       unlock_device_hotplug();
        return ret ? ret : count;
 }
 

Reply via email to