media: i2c: fix error check on max9286_read call
authorColin Ian King <colin.king@canonical.com>
Mon, 20 Jul 2020 16:13:35 +0000 (18:13 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 1 Sep 2020 12:13:27 +0000 (14:13 +0200)
Currently the error return from the call to max9286_read is masked
with 0xf0 so the following check for a negative error return is
never true.  Fix this by checking for an error first, then masking
the return value for subsequent conflink_mask checking.

Addresses-Coverity: ("Logically dead code")

Fixes: 66d8c9d2422d ("media: i2c: Add MAX9286 driver")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/max9286.c

index 47f2805..b364a3f 100644 (file)
@@ -405,10 +405,11 @@ static int max9286_check_config_link(struct max9286_priv *priv,
         * to 5 milliseconds.
         */
        for (i = 0; i < 10; i++) {
-               ret = max9286_read(priv, 0x49) & 0xf0;
+               ret = max9286_read(priv, 0x49);
                if (ret < 0)
                        return -EIO;
 
+               ret &= 0xf0;
                if (ret == conflink_mask)
                        break;