From: Dan Carpenter <dan.carpenter@oracle.com>
Date: Tue, 7 Nov 2017 12:43:22 +0000 (+0300)
Subject: power: supply: sbs-message: double left shift bug in sbsm_select()
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=7d54d0d38ec42559c891526f079f1e035cd4b3ae;p=linux.git

power: supply: sbs-message: double left shift bug in sbsm_select()

The original code does this: "1 << (1 << 11)" which is undefined in C.

Fixes: dbc4deda03fe ("power: Adds support for Smart Battery System Manager")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
---

diff --git a/drivers/power/supply/sbs-manager.c b/drivers/power/supply/sbs-manager.c
index ccb4217b96386..cb6e8f66c7a24 100644
--- a/drivers/power/supply/sbs-manager.c
+++ b/drivers/power/supply/sbs-manager.c
@@ -183,7 +183,7 @@ static int sbsm_select(struct i2c_mux_core *muxc, u32 chan)
 		return ret;
 
 	/* chan goes from 1 ... 4 */
-	reg = 1 << BIT(SBSM_SMB_BAT_OFFSET + chan);
+	reg = BIT(SBSM_SMB_BAT_OFFSET + chan);
 	ret = sbsm_write_word(data->client, SBSM_CMD_BATSYSSTATE, reg);
 	if (ret)
 		dev_err(dev, "Failed to select channel %i\n", chan);