linux/drivers/thermal
Srinivas Pandruvada 52f04f10b9 thermal: intel: int340x: processor_thermal: Fix deadlock
When user space updates the trip point there is a deadlock, which results
in caller gets blocked forever.

Commit 05eeee2b51 ("thermal/core: Protect sysfs accesses to thermal
operations with thermal zone mutex"), added a mutex for tz->lock in the
function trip_point_temp_store(). Hence, trip set callback() can't
call any thermal zone API as they are protected with the same mutex lock.

The callback here calling thermal_zone_device_enable(), which will result
in deadlock.

Move the thermal_zone_device_enable() to proc_thermal_pci_probe() to
avoid this deadlock.

Fixes: 05eeee2b51 ("thermal/core: Protect sysfs accesses to thermal operations with thermal zone mutex")
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@intel.com>
Cc: 6.2+ <stable@vger.kernel.org> # 6.2+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2023-03-03 20:34:49 +01:00
..
broadcom thermal: Remove core header inclusion from drivers 2023-02-15 17:29:48 +01:00
intel thermal: intel: int340x: processor_thermal: Fix deadlock 2023-03-03 20:34:49 +01:00
mediatek thermal/drivers/mediatek: Add the Low Voltage Thermal Sensor driver 2023-02-15 17:28:42 +01:00
qcom ARM: SoC drivers for 6.3 2023-02-27 10:04:49 -08:00
samsung thermal: Remove core header inclusion from drivers 2023-02-15 17:29:48 +01:00
st thermal/drivers/st: Remove syscfg based driver 2023-02-15 17:30:04 +01:00
tegra thermal: Remove core header inclusion from drivers 2023-02-15 17:29:48 +01:00
ti-soc-thermal thermal/drivers/ti: Remove unused macros ti_thermal_get_trip_value() / ti_thermal_trip_is_valid() 2023-01-06 14:14:48 +01:00
amlogic_thermal.c thermal: Remove core header inclusion from drivers 2023-02-15 17:29:48 +01:00
armada_thermal.c thermal: Remove core header inclusion from drivers 2023-02-15 17:29:48 +01:00
cpufreq_cooling.c Merge branches 'thermal-intel' and 'thermal-drivers' 2022-10-03 20:43:32 +02:00
cpuidle_cooling.c thermal/drivers/cpuidle_cooling: Fix use after error 2021-04-15 13:21:26 +02:00
da9062-thermal.c thermal/drivers/da9062: Use generic thermal_zone_get_trip() function 2023-01-06 14:14:48 +01:00
db8500_thermal.c thermal/drivers/db8500: Switch to new of API 2022-08-17 14:09:38 +02:00
devfreq_cooling.c Thermal control updates for 5.20-rc1 2022-08-02 11:27:53 -07:00
dove_thermal.c thermal/drivers/dove: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:18:47 +01:00
gov_bang_bang.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_fair_share.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_power_allocator.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_step_wise.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_user_space.c thermal: gov_user_space: Do not lock thermal zone mutex 2022-08-30 20:18:47 +02:00
hisi_thermal.c thermal: Remove core header inclusion from drivers 2023-02-15 17:29:48 +01:00
imx8mm_thermal.c thermal: Remove core header inclusion from drivers 2023-02-15 17:29:48 +01:00
imx_sc_thermal.c thermal: Remove core header inclusion from drivers 2023-02-15 17:29:48 +01:00
imx_thermal.c thermal/drivers/imx: Use generic thermal_zone_get_trip() function 2023-01-06 14:14:48 +01:00
k3_bandgap.c thermal/drivers/banggap: Switch to new of API 2022-08-17 14:09:38 +02:00
k3_j72xx_bandgap.c thermal/drivers/k3_j72xx_bandgap: Map fuse_base only for erratum workaround 2022-12-14 15:25:41 +01:00
Kconfig thermal/drivers/mediatek: Relocate driver to mediatek folder 2023-02-15 17:28:25 +01:00
khadas_mcu_fan.c thermal/core: Make cooling device state change private 2021-01-19 22:31:10 +01:00
kirkwood_thermal.c thermal/drivers/kirkwood: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:22:50 +01:00
Makefile thermal/drivers/mediatek: Relocate driver to mediatek folder 2023-02-15 17:28:25 +01:00
max77620_thermal.c thermal/drivers/maxim: Switch to new of API 2022-08-17 14:09:38 +02:00
qoriq_thermal.c thermal: Remove core header inclusion from drivers 2023-02-15 17:29:48 +01:00
rcar_gen3_thermal.c thermal: Remove core header inclusion from drivers 2023-02-15 17:29:48 +01:00
rcar_thermal.c thermal/drivers/rcar: Use generic thermal_zone_get_trip() function 2023-01-06 14:14:48 +01:00
rockchip_thermal.c thermal/drivers/rockchip: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:21:59 +01:00
rzg2l_thermal.c thermal/drivers/rzg2l: Switch to new of API 2022-08-17 14:09:38 +02:00
spear_thermal.c thermal/drivers/spear: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:23:25 +01:00
sprd_thermal.c thermal/drivers/sprd: Switch to new of API 2022-08-17 14:09:38 +02:00
sun8i_thermal.c thermal/drivers/sun8i: Convert to use macro 2023-01-24 11:43:22 +01:00
thermal_acpi.c thermal: ACPI: Make helpers retrieve temperature only 2023-02-02 15:26:45 +01:00
thermal_core.c thermal: core: Use sysfs_emit_at() instead of scnprintf() 2023-02-09 20:39:48 +01:00
thermal_core.h thermal/core: Move the thermal trip code to a dedicated file 2023-01-25 16:40:39 +01:00
thermal_helpers.c thermal/core: Move the thermal trip code to a dedicated file 2023-01-25 16:40:39 +01:00
thermal_hwmon.c thermal/core: Protect hwmon accesses to thermal operations with thermal zone mutex 2022-11-14 19:04:37 +01:00
thermal_hwmon.h
thermal_mmio.c thermal/drivers/thermal_mmio: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:22:19 +01:00
thermal_netlink.c thermal/core: Fix unregistering netlink at thermal init time 2023-01-25 16:40:39 +01:00
thermal_netlink.h thermal/core: Fix unregistering netlink at thermal init time 2023-01-25 16:40:39 +01:00
thermal_of.c thermal/of: Remove of_thermal_get_crit_temp() 2023-01-06 14:14:47 +01:00
thermal_sysfs.c thermal/core: Add a generic thermal_zone_set_trip() function 2023-01-06 14:14:47 +01:00
thermal_trip.c thermal/core: Move the thermal trip code to a dedicated file 2023-01-25 16:40:39 +01:00
thermal-generic-adc.c thermal/drivers/generic-adc: Switch to new of API 2022-08-17 14:09:37 +02:00
uniphier_thermal.c thermal: Remove core header inclusion from drivers 2023-02-15 17:29:48 +01:00