media: dvb: return -EREMOTEIO on i2c transfer failure.
authorColin Ian King <colin.king@canonical.com>
Mon, 10 Feb 2020 17:51:33 +0000 (18:51 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 21 Apr 2020 10:55:07 +0000 (12:55 +0200)
Currently when i2c transfers fail the error return -EREMOTEIO
is assigned to err but then later overwritten when the tuner
attach call is made.  Fix this by returning early with the
error return code -EREMOTEIO on i2c transfer failure errors.

If the transfer fails, an uninitialized value will be read from b2.

Addresses-Coverity: ("Unused value")

Fixes: fbfee8684ff2 ("V4L/DVB (5651): Dibusb-mb: convert pll handling to properly use dvb-pll")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/usb/dvb-usb/dibusb-mb.c

index f462c918d5a4404f1a9879db4ed1c8b6a3028d76..e9dc27f7397032fd017dc3564257fee3762717ac 100644 (file)
@@ -81,7 +81,7 @@ static int dibusb_tuner_probe_and_attach(struct dvb_usb_adapter *adap)
 
        if (i2c_transfer(&adap->dev->i2c_adap, msg, 2) != 2) {
                err("tuner i2c write failed.");
-               ret = -EREMOTEIO;
+               return -EREMOTEIO;
        }
 
        if (adap->fe_adap[0].fe->ops.i2c_gate_ctrl)