media: em28xx-core: Fix i2c error debug
authorBrad Love <brad@nextdimension.cc>
Tue, 26 Jan 2021 01:54:15 +0000 (02:54 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Fri, 5 Feb 2021 22:39:04 +0000 (23:39 +0100)
Read errors are currently reported as write errors.

An incorrectly received read operation is never reported at all.
Add a debug statement indicating the request mismatch.

Signed-off-by: Brad Love <brad@nextdimension.cc>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/usb/em28xx/em28xx-i2c.c

index 592b98b..2553959 100644 (file)
@@ -294,6 +294,10 @@ static int em28xx_i2c_recv_bytes(struct em28xx *dev, u16 addr, u8 *buf, u16 len)
                         "reading from i2c device at 0x%x failed (error=%i)\n",
                         addr, ret);
                return ret;
+       } else if (ret != len) {
+               dev_dbg(&dev->intf->dev,
+                       "%i bytes read from i2c device at 0x%x requested, but %i bytes written\n",
+                               ret, addr, len);
        }
        /*
         * NOTE: some devices with two i2c buses have the bad habit to return 0
@@ -329,7 +333,7 @@ static int em28xx_i2c_recv_bytes(struct em28xx *dev, u16 addr, u8 *buf, u16 len)
        }
 
        dev_warn(&dev->intf->dev,
-                "write to i2c device at 0x%x failed with unknown error (status=%i)\n",
+                "read from i2c device at 0x%x failed with unknown error (status=%i)\n",
                 addr, ret);
        return -EIO;
 }