ds2782_battery: signedness bug in ds278x_read_reg16()
PATCH 1/1 ds2782_battery: 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 <[email protected]>
drivers/power/ds2782_battery.c +2 -2
@@ -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 ; }
Anton Vorontsov
AppliedQuoted 4 lines · Dan Carpenter
We need to check for negative values before doing the
swab16()for the error handling to work.Signed-off-by Dan Carpenter <[email protected]>
Applied, thanks!
Quoted 19 lines
drivers/power/ds2782_battery.c +2
-2@@ -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 ; }