Re: [PATCH] hwmon: nct6775: Fix incorrect variable reuse in fan_div calculation

From: Guenter Roeck
Date: Wed Oct 25 2023 - 15:53:49 EST


On Fri, Sep 29, 2023 at 01:08:23PM -0700, Zev Weiss wrote:
> In the regmap conversion in commit 4ef2774511dc ("hwmon: (nct6775)
> Convert register access to regmap API") I reused the 'reg' variable
> for all three register reads in the fan speed calculation loop in
> nct6775_update_device(), but failed to notice that the value from the
> first one (data->REG_FAN[i]) is actually used in the call to
> nct6775_select_fan_div() at the end of the loop body. Since that
> patch the register value passed to nct6775_select_fan_div() has been
> (conditionally) incorrectly clobbered with the value of a different
> register than intended, which has in at least some cases resulted in
> fan speeds being adjusted down to zero.
>
> Fix this by using dedicated temporaries for the two intermediate
> register reads instead of 'reg'.
>
> Signed-off-by: Zev Weiss <zev@xxxxxxxxxxxxxxxxx>
> Fixes: 4ef2774511dc ("hwmon: (nct6775) Convert register access to regmap API")
> Reported-by: Thomas Zajic <zlatko@xxxxxx>
> Tested-by: Thomas Zajic <zlatko@xxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx # v5.19+

Applied.

Thanks,
Guenter