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