i2c: xiic: return value of xiic_reinit
authorShubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
Wed, 20 Apr 2022 07:59:21 +0000 (13:29 +0530)
committerWolfram Sang <wsa@kernel.org>
Sat, 14 May 2022 14:02:21 +0000 (16:02 +0200)
Check the return value of xiic_reinit.

Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-xiic.c

index ffefe3c482e9c9a67a37dbdb3b4130ecec9f446b..8b39f9c7e7738d92d3cf4a4bffde8dfd40af74d0 100644 (file)
@@ -381,6 +381,7 @@ static irqreturn_t xiic_process(int irq, void *dev_id)
        int xfer_more = 0;
        int wakeup_req = 0;
        int wakeup_code = 0;
+       int ret;
 
        /* Get the interrupt Status from the IPIF. There is no clearing of
         * interrupts in the IPIF. Interrupts must be cleared at the source.
@@ -415,7 +416,9 @@ static irqreturn_t xiic_process(int irq, void *dev_id)
                 * fifos and the next message is a TX with len 0 (only addr)
                 * reset the IP instead of just flush fifos
                 */
-               xiic_reinit(i2c);
+               ret = xiic_reinit(i2c);
+               if (!ret)
+                       dev_dbg(i2c->adap.dev.parent, "reinit failed\n");
 
                if (i2c->rx_msg) {
                        wakeup_req = 1;