diff options
author | Stuart Hayes <Stuart_Hayes@Dell.com> | 2012-06-13 23:10:45 +0200 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2012-06-30 06:51:13 +0200 |
commit | 5f1601261050251a5ca293378b492a69d590dacb (patch) | |
tree | e2395916caa5bc1ab2a3b28770f6433551e3b16f /arch/x86/kernel/reboot.c | |
parent | Linux 3.4 (diff) | |
download | linux-5f1601261050251a5ca293378b492a69d590dacb.tar.xz linux-5f1601261050251a5ca293378b492a69d590dacb.zip |
acpi_pad: fix power_saving thread deadlock
The acpi_pad driver can get stuck in destroy_power_saving_task()
waiting for kthread_stop() to stop a power_saving thread. The problem
is that the isolated_cpus_lock mutex is owned when
destroy_power_saving_task() calls kthread_stop(), which waits for a
power_saving thread to end, and the power_saving thread tries to
acquire the isolated_cpus_lock when it calls round_robin_cpu(). This
patch fixes the issue by making round_robin_cpu() use its own mutex.
https://bugzilla.kernel.org/show_bug.cgi?id=42981
Cc: stable@vger.kernel.org
Signed-off-by: Stuart Hayes <Stuart_Hayes@Dell.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'arch/x86/kernel/reboot.c')
0 files changed, 0 insertions, 0 deletions