i2c: brcmstb: Fix brcmstd_send_i2c_cmd condition
authorMaxime Ripard <maxime@cerno.tech>
Thu, 25 Feb 2021 16:11:01 +0000 (17:11 +0100)
committerWolfram Sang <wsa@kernel.org>
Fri, 26 Feb 2021 10:25:24 +0000 (11:25 +0100)
The brcmstb_send_i2c_cmd currently has a condition that is (CMD_RD ||
CMD_WR) which always evaluates to true, while the obvious fix is to test
whether the cmd variable passed as parameter holds one of these two
values.

Fixes: dd1aa2524bc5 ("i2c: brcmstb: Add Broadcom settop SoC i2c controller driver")
Reported-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-brcmstb.c

index d4e0a0f..ba766d2 100644 (file)
@@ -316,7 +316,7 @@ static int brcmstb_send_i2c_cmd(struct brcmstb_i2c_dev *dev,
                goto cmd_out;
        }
 
-       if ((CMD_RD || CMD_WR) &&
+       if ((cmd == CMD_RD || cmd == CMD_WR) &&
            bsc_readl(dev, iic_enable) & BSC_IIC_EN_NOACK_MASK) {
                rc = -EREMOTEIO;
                dev_dbg(dev->device, "controller received NOACK intr for %s\n",