Re: [PATCH 1/2] hwmon: (peci/cputemp) Fix crit_hyst returning delta instead of absolute temperature
From: Guenter Roeck
Date: Sun Mar 22 2026 - 21:43:39 EST
On Mon, Mar 23, 2026 at 12:24:25AM +0000, Pradhan, Sanman wrote:
> From: Sanman Pradhan <psanman@xxxxxxxxxxx>
>
> The hwmon sysfs ABI expects tempN_crit_hyst to report the temperature at
> which the critical condition clears, not the hysteresis delta from the
> critical limit.
>
> The peci cputemp driver currently returns tjmax - tcontrol for
> crit_hyst_type, which is the hysteresis margin rather than the
> corresponding absolute temperature.
>
> Return tcontrol directly, and update the documentation accordingly.
>
> Fixes: bf3608f338e9 ("hwmon: peci: Add cputemp driver")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Sanman Pradhan <psanman@xxxxxxxxxxx>
Applied.
Thanks,
Guenter
> ---
> Documentation/hwmon/peci-cputemp.rst | 10 ++++++----
> drivers/hwmon/peci/cputemp.c | 2 +-
> 2 files changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/hwmon/peci-cputemp.rst b/Documentation/hwmon/peci-cputemp.rst
> index fe0422248dc5e..266b62a46f49c 100644
> --- a/Documentation/hwmon/peci-cputemp.rst
> +++ b/Documentation/hwmon/peci-cputemp.rst
> @@ -51,8 +51,9 @@ temp1_max Provides thermal control temperature of the CPU package
> temp1_crit Provides shutdown temperature of the CPU package which
> is also known as the maximum processor junction
> temperature, Tjmax or Tprochot.
> -temp1_crit_hyst Provides the hysteresis value from Tcontrol to Tjmax of
> - the CPU package.
> +temp1_crit_hyst Provides the hysteresis temperature of the CPU
> + package. Returns Tcontrol, the temperature at which
> + the critical condition clears.
>
> temp2_label "DTS"
> temp2_input Provides current temperature of the CPU package scaled
> @@ -62,8 +63,9 @@ temp2_max Provides thermal control temperature of the CPU package
> temp2_crit Provides shutdown temperature of the CPU package which
> is also known as the maximum processor junction
> temperature, Tjmax or Tprochot.
> -temp2_crit_hyst Provides the hysteresis value from Tcontrol to Tjmax of
> - the CPU package.
> +temp2_crit_hyst Provides the hysteresis temperature of the CPU
> + package. Returns Tcontrol, the temperature at which
> + the critical condition clears.
>
> temp3_label "Tcontrol"
> temp3_input Provides current Tcontrol temperature of the CPU
> diff --git a/drivers/hwmon/peci/cputemp.c b/drivers/hwmon/peci/cputemp.c
> index b2fc936851e14..badec53ff4461 100644
> --- a/drivers/hwmon/peci/cputemp.c
> +++ b/drivers/hwmon/peci/cputemp.c
> @@ -131,7 +131,7 @@ static int get_temp_target(struct peci_cputemp *priv, enum peci_temp_target_type
> *val = priv->temp.target.tjmax;
> break;
> case crit_hyst_type:
> - *val = priv->temp.target.tjmax - priv->temp.target.tcontrol;
> + *val = priv->temp.target.tcontrol;
> break;
> default:
> ret = -EOPNOTSUPP;