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:
Dan Carpenter 2012-10-24 10:12:29 +03:00 committed by Anton Vorontsov
parent 08d816b8cb
commit 8511748ba1

View File

@ -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;
}