[PATCH] hwmon: nct7904: fix error check on register read

From: Colin King
Date: Thu Jun 06 2019 - 08:31:37 EST


From: Colin Ian King <colin.king@xxxxxxxxxxxxx>

Currently the return from the call to nct7904_read is being masked
and so and negative error returns are being stripped off and the
error check is always false. Fix this by checking on err first and
then masking the return value in ret.

Addresses-Coverity: ("Logically dead code")
Fixes: af55ab0b0792 ("hwmon: (nct7904) Add extra sysfs support for fan, voltage and temperature.")
Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
---
drivers/hwmon/nct7904.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/hwmon/nct7904.c b/drivers/hwmon/nct7904.c
index dd450dd29ac7..5fa69898674c 100644
--- a/drivers/hwmon/nct7904.c
+++ b/drivers/hwmon/nct7904.c
@@ -928,10 +928,10 @@ static int nct7904_probe(struct i2c_client *client,

/* Check DTS enable status */
if (data->enable_dts) {
- ret = nct7904_read_reg(data, BANK_0, DTS_T_CTRL0_REG) & 0xF;
+ ret = nct7904_read_reg(data, BANK_0, DTS_T_CTRL0_REG);
if (ret < 0)
return ret;
- data->has_dts = ret;
+ data->has_dts = ret & 0xF;
if (data->enable_dts & ENABLE_TSI) {
ret = nct7904_read_reg(data, BANK_0, DTS_T_CTRL1_REG);
if (ret < 0)
--
2.20.1