power: bq27xxx_battery: fix signedness bug in bq27xxx_battery_read_health()
authorAndrzej Hajda <a.hajda@samsung.com>
Mon, 28 Sep 2015 08:51:27 +0000 (10:51 +0200)
committerSebastian Reichel <sre@kernel.org>
Mon, 28 Sep 2015 16:07:48 +0000 (18:07 +0200)
We need flags to be signed for the error handling to work.

The problem has been detected using proposed semantic patch
scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1].

[1]: http://permalink.gmane.org/gmane.linux.kernel/2038576

Fixes: 74aab849f342 ('power: bq27xxx_battery: Cleanup health checking')
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-By: Pali Rohár <pali.rohar@gmail.com>
Acked-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
drivers/power/bq27xxx_battery.c

index 473aa2f9488244a1dc462cb73dce3ce95cecffac..994c78d9f42675b47c7883e9314d3a465f9496b9 100644 (file)
@@ -691,7 +691,7 @@ static bool bq27xxx_battery_dead(struct bq27xxx_device_info *di, u16 flags)
  */
 static int bq27xxx_battery_read_health(struct bq27xxx_device_info *di)
 {
-       u16 flags;
+       int flags;
 
        flags = bq27xxx_read(di, BQ27XXX_REG_FLAGS, false);
        if (flags < 0) {