ds2782_battery: Fix signedness bug in ds278x_read_reg16()
We need to check for negative values before doing the swab16() for the error handling to work. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
This commit is contained in:
parent
08d816b8cb
commit
8511748ba1
@ -80,13 +80,13 @@ static inline int ds278x_read_reg16(struct ds278x_info *info, int reg_msb,
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = swab16(i2c_smbus_read_word_data(info->client, reg_msb));
|
||||
ret = i2c_smbus_read_word_data(info->client, reg_msb);
|
||||
if (ret < 0) {
|
||||
dev_err(&info->client->dev, "register read failed\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
*val = ret;
|
||||
*val = swab16(ret);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user