diff options
author | Ray Jui <ray.jui@broadcom.com> | 2020-08-14 15:40:08 -0700 |
---|---|---|
committer | Wolfram Sang <wsa@kernel.org> | 2020-08-25 09:46:38 +0200 |
commit | 0204081128d582965e9e39ca83ee6e4f7d27142b (patch) | |
tree | 05b5dac3fa145f9f7a3c9ed7edf089907af3e41a /drivers/i2c | |
parent | 914a7b3563b8fb92f976619bbd0fa3a4a708baae (diff) | |
download | linux-stable-0204081128d582965e9e39ca83ee6e4f7d27142b.tar.gz linux-stable-0204081128d582965e9e39ca83ee6e4f7d27142b.tar.bz2 linux-stable-0204081128d582965e9e39ca83ee6e4f7d27142b.zip |
i2c: iproc: Fix shifting 31 bits
Fix undefined behaviour in the iProc I2C driver by using 'BIT' marcro.
Reported-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Ray Jui <ray.jui@broadcom.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
[wsa: in commit msg, don't say 'checkpatch' but name the issue]
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/busses/i2c-bcm-iproc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/i2c/busses/i2c-bcm-iproc.c b/drivers/i2c/busses/i2c-bcm-iproc.c index 688e92818821..d8295b1c379d 100644 --- a/drivers/i2c/busses/i2c-bcm-iproc.c +++ b/drivers/i2c/busses/i2c-bcm-iproc.c @@ -720,7 +720,7 @@ static int bcm_iproc_i2c_xfer_internal(struct bcm_iproc_i2c_dev *iproc_i2c, /* mark the last byte */ if (!process_call && (i == msg->len - 1)) - val |= 1 << M_TX_WR_STATUS_SHIFT; + val |= BIT(M_TX_WR_STATUS_SHIFT); iproc_i2c_wr_reg(iproc_i2c, M_TX_OFFSET, val); } @@ -738,7 +738,7 @@ static int bcm_iproc_i2c_xfer_internal(struct bcm_iproc_i2c_dev *iproc_i2c, */ addr = i2c_8bit_addr_from_msg(msg); /* mark it the last byte out */ - val = addr | (1 << M_TX_WR_STATUS_SHIFT); + val = addr | BIT(M_TX_WR_STATUS_SHIFT); iproc_i2c_wr_reg(iproc_i2c, M_TX_OFFSET, val); } |