OSDN Git Service

power: supply: sbs-message: double left shift bug in sbsm_select()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 7 Nov 2017 12:43:22 +0000 (15:43 +0300)
committerSebastian Reichel <sebastian.reichel@collabora.co.uk>
Fri, 1 Dec 2017 15:08:00 +0000 (16:08 +0100)
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>
drivers/power/supply/sbs-manager.c

index ccb4217..cb6e8f6 100644 (file)
@@ -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);