linux/drivers/thermal
Srinivas Pandruvada 7bed1b3caa Thermal: x86_pkg_temp: change spin lock
x86_pkg_temp receives thermal notifications via a callback from a
therm_throt driver, where thermal interrupts are processed.
This callback is pkg_temp_thermal_platform_thermal_notify. Here to
avoid multiple interrupts from cores in a package, we disable the
source and also set a variable to avoid scheduling delayed work function.
This variable is protected via spin_lock_irqsave. On one buggy platform,
we still receiving interrupts even if the source is disabled. This
can cause deadlock/lockdep warning, when interrupt is generated while under
spinlock in work function.
Change spin_lock to spin_lock_irqsave and spin_unlock to
spin_unlock_irqrestore as the data it is trying to protect can also
be modified in a notification call called from interrupt handler.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
2013-09-25 21:29:39 +08:00
..
samsung thermal: exynos: Clean up non-DT remnants 2013-08-29 09:37:31 -04:00
ti-soc-thermal thermal: ti-soc-thermal: Ensure to compute thermal trend 2013-08-29 09:36:18 -04:00
armada_thermal.c Merge branches 'misc', 'drv_cleanup', 'devm-cleanup' and 'ti-soc' of .git into next 2013-05-28 10:46:46 +08:00
cpu_cooling.c drivers: thermal: add check when unregistering cpu cooling 2013-09-03 09:10:34 -04:00
db8500_cpufreq_cooling.c thermal: db8500_cpufreq_cooling: remove usage of IS_ERR_OR_NULL() 2013-04-27 09:28:38 +08:00
db8500_thermal.c thermal: db8500: Fix missing mutex_unlock() in probe error paths 2013-03-26 22:08:08 +08:00
dove_thermal.c Merge branches 'misc', 'drv_cleanup', 'devm-cleanup' and 'ti-soc' of .git into next 2013-05-28 10:46:46 +08:00
fair_share.c Thermal: build thermal governors into thermal_sys module 2013-04-14 23:28:43 +08:00
imx_thermal.c thermal: imx: implement thermal alarm interrupt handling 2013-08-15 14:57:42 +08:00
intel_powerclamp.c Fix mis-merge of intel_powerclamp.c resulting in compile error 2013-02-28 20:23:09 -08:00
Kconfig thermal: hwmon: move hwmon support to single file 2013-09-03 09:09:12 -04:00
kirkwood_thermal.c Merge branches 'misc', 'drv_cleanup', 'devm-cleanup' and 'ti-soc' of .git into next 2013-05-28 10:46:46 +08:00
Makefile thermal: hwmon: move hwmon support to single file 2013-09-03 09:09:12 -04:00
rcar_thermal.c Merge branches 'misc', 'drv_cleanup', 'devm-cleanup' and 'ti-soc' of .git into next 2013-05-28 10:46:46 +08:00
spear_thermal.c Merge branches 'misc', 'drv_cleanup', 'devm-cleanup' and 'ti-soc' of .git into next 2013-05-28 10:46:46 +08:00
step_wise.c thermal: step_wise: return instance->target by default 2013-08-15 15:49:20 +08:00
thermal_core.c thermal: thermal_core: allow binding with limits on bind_params 2013-09-03 09:10:24 -04:00
thermal_core.h Thermal: build thermal governors into thermal_sys module 2013-04-14 23:28:43 +08:00
thermal_hwmon.c drivers: thermal: parent virtual hwmon with thermal zone 2013-09-03 09:10:10 -04:00
thermal_hwmon.h thermal: hwmon: move hwmon support to single file 2013-09-03 09:09:12 -04:00
user_space.c Thermal: build thermal governors into thermal_sys module 2013-04-14 23:28:43 +08:00
x86_pkg_temp_thermal.c Thermal: x86_pkg_temp: change spin lock 2013-09-25 21:29:39 +08:00