i2c: xiic: Correct return value check for xiic_reinit()
authorDaniel Scally <dan.scally@ideasonboard.com>
Wed, 20 Sep 2023 13:41:09 +0000 (14:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Oct 2023 12:56:43 +0000 (14:56 +0200)
[ Upstream commit 59851fb05d759f13662be143eff0aae605815b0e ]

The error paths for xiic_reinit() return negative values on failure
and 0 on success - this error message therefore is triggered on
_success_ rather than failure. Correct the condition so it's only
shown on failure as intended.

Fixes: 8fa9c9388053 ("i2c: xiic: return value of xiic_reinit")
Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
Acked-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/busses/i2c-xiic.c

index b41a670..b27bfc7 100644 (file)
@@ -420,7 +420,7 @@ static irqreturn_t xiic_process(int irq, void *dev_id)
                 * reset the IP instead of just flush fifos
                 */
                ret = xiic_reinit(i2c);
-               if (!ret)
+               if (ret < 0)
                        dev_dbg(i2c->adap.dev.parent, "reinit failed\n");
 
                if (i2c->rx_msg) {