• Ingo Molnar's avatar
    Revert "cpumask: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write" · 50c668d6
    Ingo Molnar authored
    This reverts commit 7503bfba.
    
    Dieter Ries reported bootup soft-hangs and bisected it back to
    this commit, and reverting this commit gave him a working system.
    
    The commit introduces work_on_cpu() use into the cpufreq code,
    but that is subtly problematic from a lock hierarchy POV: the
    hotplug-cpu lock is an highlevel lock that is taken before
    lowlevel locks, and in this codepath we are called with the
    policy lock taken.
    
    Dieter did not have lockdep enabled so we dont have a nice stack
    trace proof for this, but using work_on_cpu() in such a lowlevel
    place certainly looks wrong, so we revert the patch.
    
    work_on_cpu() needs to be reworked to be more generally usable.
    Reported-by: default avatarDieter Ries <clip2@gmx.de>
    Tested-by: default avatarDieter Ries <clip2@gmx.de>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    50c668d6
acpi-cpufreq.c 20.6 KB