media: em28xx-input: improve error handling code
authorMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 23 Mar 2018 11:33:22 +0000 (07:33 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 23 Mar 2018 11:33:22 +0000 (07:33 -0400)
The current I2C error handling logic makes static analyzers
confused:

drivers/media/usb/em28xx/em28xx-input.c:96 em28xx_get_key_terratec() error: uninitialized symbol 'b'.

Change it to match the coding style we're using elsewhere.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/usb/em28xx/em28xx-input.c

index eb2ec0384b6906a564e92fd259795fbec31105eb..2dc1be00b8b883e25ffc178398226dc1a701c34e 100644 (file)
@@ -82,11 +82,16 @@ struct em28xx_IR {
 static int em28xx_get_key_terratec(struct i2c_client *i2c_dev,
                                   enum rc_proto *protocol, u32 *scancode)
 {
+       int rc;
        unsigned char b;
 
        /* poll IR chip */
-       if (i2c_master_recv(i2c_dev, &b, 1) != 1)
+       rc = i2c_master_recv(i2c_dev, &b, 1);
+       if (rc != 1) {
+               if (rc < 0)
+                       return rc;
                return -EIO;
+       }
 
        /*
         * it seems that 0xFE indicates that a button is still hold