From: Vishwas M <[email protected]>

commit 14b0e83dc4f1e52b94acaeb85a18fd7fdd46d2dc upstream.

This patch fixes a bug which does not let FAN mode to be changed from
sysfs(pwm1_enable). i.e pwm1_enable can not be set to 3, it will always
remain at 0.

This is caused because the device driver handles the result of
"read_u8_from_i2c(client, REG_FAN_CONF1, &conf_reg)" incorrectly. The
driver thinks an error has occurred if the (result != 0). This has been
fixed by changing the condition to (result < 0).

Signed-off-by: Vishwas M <[email protected]>
Link: 
https://lore.kernel.org/r/[email protected]
Fixes: 9df7305b5a86 ("hwmon: Add driver for SMSC EMC2103 temperature monitor 
and fan controller")
Cc: [email protected]
Signed-off-by: Guenter Roeck <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/hwmon/emc2103.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/hwmon/emc2103.c
+++ b/drivers/hwmon/emc2103.c
@@ -452,7 +452,7 @@ static ssize_t set_pwm_enable(struct dev
        }
 
        result = read_u8_from_i2c(client, REG_FAN_CONF1, &conf_reg);
-       if (result) {
+       if (result < 0) {
                count = result;
                goto err;
        }


Reply via email to