linux/drivers/thermal
Srinivas Pandruvada 3a3f789ee1 thermal: int3400: Fix reading of current_uuid for active policy
commit 7082503622 upstream.

When the current_uuid attribute is set to the active policy UUID,
reading back the same attribute is returning "INVALID" instead of
the active policy UUID on some platforms before Ice Lake.

In platforms before Ice Lake, firmware provides a list of supported
thermal policies. In this case, user space can select any of the
supported thermal policies via a write to attribute "current_uuid".

In commit c7ff297639 ("thermal: int340x: Update OS policy capability
handshake")', the OS policy handshake was updated to support Ice Lake
and later platforms and it treated priv->current_uuid_index=0 as
invalid. However, priv->current_uuid_index=0 is for the active policy,
only priv->current_uuid_index=-1 is invalid.

Fix this issue by updating the priv->current_uuid_index check.

Fixes: c7ff297639 ("thermal: int340x: Update OS policy capability handshake")
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: 5.18+ <stable@vger.kernel.org> # 5.18+
Link: https://patch.msgid.link/20241114200213.422303-1-srinivas.pandruvada@linux.intel.com
[ rjw: Subject and changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-12-09 10:41:08 +01:00
..
broadcom thermal/drivers/brcmstb_thermal: Simplify with dev_err_probe() 2024-09-02 13:09:49 +02:00
intel thermal: int3400: Fix reading of current_uuid for active policy 2024-12-09 10:41:08 +01:00
mediatek thermal/drivers/mediatek/lvts_thermal: Provide default calibration data 2024-07-15 13:31:39 +02:00
qcom thermal/drivers/qcom/lmh: Remove false lockdep backtrace 2024-11-04 15:38:29 +01:00
renesas thermal/drivers/renesas: Remove trailing space after \n newline 2024-09-02 13:11:07 +02:00
samsung thermal/drivers/exynos: Simplify with dev_err_probe() 2024-07-15 13:31:40 +02:00
st thermal/drivers/sti: Depend on THERMAL_OF subsystem 2024-09-02 12:43:27 +02:00
tegra thermal: tegra: Use thermal_zone_for_each_trip() for walking trip points 2024-08-02 13:50:04 +02:00
testing thermal: testing: Initialize some variables annoteded with _free() 2024-12-05 14:01:20 +01:00
ti-soc-thermal thermal/drivers/ti-soc-thermal: Remove unused declarations 2024-09-02 13:19:46 +02:00
amlogic_thermal.c thermal/drivers/amlogic: Support A1 SoC family Thermal Sensor controller 2024-04-23 12:40:29 +02:00
armada_thermal.c thermal/drivers/armada: Simplify name sanitization 2024-04-23 12:40:29 +02:00
cpufreq_cooling.c thermal/cpufreq: Remove arch_update_thermal_pressure() 2024-04-24 12:08:00 +02:00
cpuidle_cooling.c thermal: cpuidle_cooling: fix kernel-doc warning and a spello 2023-12-21 12:05:48 +01:00
da9062-thermal.c thermal: core: Eliminate writable trip points masks 2024-02-27 12:04:38 +01:00
db8500_thermal.c thermal/drivers/db8500: Remove redundant of_match_ptr() 2023-08-16 12:09:19 +02:00
devfreq_cooling.c thermal: devfreq_cooling: Fix perf state when calculate dfc res_util 2024-03-27 16:27:39 +01:00
dove_thermal.c thermal: dove: Convert to platform remove callback returning void 2023-09-29 12:34:16 +02:00
gov_bang_bang.c thermal: gov_bang_bang: Adjust states of all uninitialized instances 2024-09-05 12:32:54 +02:00
gov_fair_share.c thermal: gov_fair_share: Eliminate unnecessary integer divisions 2024-04-24 10:15:08 +02:00
gov_power_allocator.c thermal: gov_power_allocator: Return early in manage if trip_max is NULL 2024-07-04 13:35:50 +02:00
gov_step_wise.c thermal: gov_step_wise: Go straight to instance->lower when mitigation is over 2024-06-25 14:37:05 +02:00
gov_user_space.c thermal: gov_user_space: Use .trip_crossed() instead of .throttle() 2024-04-24 20:42:10 +02:00
hisi_thermal.c thermal: hisi: Use thermal_zone_for_each_trip() in hisi_thermal_register_sensor() 2024-08-02 13:41:52 +02:00
imx8mm_thermal.c thermal/drivers/imx8mm_thermal: Fix function pointer declaration by adding identifier name 2023-10-15 23:40:09 +02:00
imx_sc_thermal.c thermal/drivers/imx_sc_thermal: Use dev_err_probe 2024-09-04 15:31:29 +02:00
imx_thermal.c thermal/drivers/imx: Remove __maybe_unused notations 2024-09-02 13:17:53 +02:00
k3_bandgap.c thermal/drivers/k3_bandgap: Remove some unused fields in struct k3_bandgap 2024-04-23 12:40:29 +02:00
k3_j72xx_bandgap.c thermal/drivers/k3_j72xx_bandgap: Implement suspend/resume support 2024-07-15 13:31:39 +02:00
Kconfig thermal/drivers/sti: Depend on THERMAL_OF subsystem 2024-09-02 12:43:27 +02: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: kirkwood: Convert to platform remove callback returning void 2023-09-29 12:34:17 +02:00
loongson2_thermal.c thermal/drivers/loongson2: Add Loongson-2K2000 support 2024-04-23 12:40:30 +02:00
Makefile thermal: Introduce a debugfs-based testing facility 2024-08-22 17:42:57 +02:00
max77620_thermal.c thermal/drivers/max77620: Remove duplicate error message 2023-10-15 23:40:10 +02:00
qoriq_thermal.c thermal/drivers/qoriq: Remove __maybe_unused notations 2024-09-02 13:17:46 +02:00
rockchip_thermal.c thermal: rockchip: Convert to platform remove callback returning void 2023-10-02 14:23:30 +02:00
spear_thermal.c thermal: spear: Convert to platform remove callback returning void 2023-10-02 14:24:06 +02:00
sprd_thermal.c thermal/drivers/sprd: Use devm_clk_get_enabled() helpers 2024-09-02 13:14:23 +02:00
sun8i_thermal.c thermal/drivers/sun8i: Don't fail probe due to zone registration failure 2024-03-11 17:14:46 +01:00
thermal-generic-adc.c thermal/drivers/generic-adc: Simplify with dev_err_probe() 2024-07-15 13:31:41 +02:00
thermal_core.c thermal: core: Fix race between zone registration and system suspend 2024-12-05 14:01:17 +01:00
thermal_core.h thermal: core: Mark thermal zones as initializing to start with 2024-12-05 14:01:17 +01:00
thermal_debugfs.c thermal/debugfs: Fix the NULL vs IS_ERR() confusion in debugfs_create_dir() 2024-08-21 20:38:44 +02:00
thermal_debugfs.h thermal/debugfs: Do not extend mitigation episodes beyond system resume 2024-06-11 21:04:00 +02:00
thermal_helpers.c thermal: core: Drop tz field from struct thermal_instance 2024-08-23 15:56:29 +02:00
thermal_hwmon.c thermal: core: Store zone ops in struct thermal_zone_device 2024-02-23 18:24:48 +01:00
thermal_hwmon.h thermal/hwmon: Use the right device for devm_thermal_add_hwmon_sysfs() 2023-03-03 20:45:02 +01:00
thermal_mmio.c thermal/core: Use the thermal zone 'devdata' accessor in thermal located drivers 2023-03-03 20:45:02 +01:00
thermal_netlink.c thermal: core: Reference count the zone in thermal_zone_get_by_id() 2024-10-04 19:05:08 +02:00
thermal_netlink.h thermal: netlink: Add genetlink bind/unbind notifications 2024-03-27 14:50:26 +01:00
thermal_of.c thermal/of: support thermal zones w/o trips subnode 2024-11-04 15:38:29 +01:00
thermal_sysfs.c thermal: core: Drop thermal_zone_device_is_enabled() 2024-09-05 12:33:24 +02:00
thermal_trace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
thermal_trace_ipa.h thermal: core: Make struct thermal_zone_device definition internal 2024-04-08 16:01:20 +02:00
thermal_trip.c thermal/core: Compute low and high boundaries in thermal_zone_device_update() 2024-08-19 16:06:58 +02:00
uniphier_thermal.c thermal: uniphier: Use thermal_zone_for_each_trip() for walking trip points 2024-07-04 13:25:31 +02:00