From: Dan Carpenter Date: Wed, 25 Sep 2019 11:01:28 +0000 (+0300) Subject: power: supply: sbs-battery: Fix a signedness bug in sbs_get_battery_capacity() X-Git-Tag: v3.16.84~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3cae91b92588ed781c75c090fa8c17b9f9178a9a;p=thirdparty%2Fkernel%2Fstable.git power: supply: sbs-battery: Fix a signedness bug in sbs_get_battery_capacity() commit eb368de6de32925c65a97c1e929a31cae2155aee upstream. The "mode" variable is an enum and in this context GCC treats it as an unsigned int so the error handling is never triggered. Fixes: 51d075660457 ("bq20z75: Add support for charge properties") Signed-off-by: Dan Carpenter Signed-off-by: Sebastian Reichel [bwh: Backported to 3.16: adjust filename, context] Signed-off-by: Ben Hutchings --- diff --git a/drivers/power/sbs-battery.c b/drivers/power/sbs-battery.c index b5f2a76b6cdf9..32553c23d4676 100644 --- a/drivers/power/sbs-battery.c +++ b/drivers/power/sbs-battery.c @@ -400,7 +400,7 @@ static int sbs_get_battery_capacity(struct i2c_client *client, mode = BATTERY_MODE_AMPS; mode = sbs_set_battery_mode(client, mode); - if (mode < 0) + if ((int)mode < 0) return mode; ret = sbs_read_word_data(client, sbs_data[reg_offset].addr);