OSDN Git Service

[media] af9033: improve read_signal_strength error handling slightly
authorAntti Palosaari <crope@iki.fi>
Tue, 4 Nov 2014 00:23:26 +0000 (21:23 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 4 Nov 2014 20:20:06 +0000 (18:20 -0200)
Check return status after each register access routine and avoid
masking return status values.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/dvb-frontends/af9033.c

index e3bae77..3f688de 100644 (file)
@@ -876,7 +876,12 @@ static int af9033_read_signal_strength(struct dvb_frontend *fe, u16 *strength)
                *strength = u8tmp * 0xffff / 100;
        } else {
                ret = af9033_rd_reg(dev, 0x8000f7, &u8tmp);
-               ret |= af9033_rd_regs(dev, 0x80f900, buf, 7);
+               if (ret < 0)
+                       goto err;
+
+               ret = af9033_rd_regs(dev, 0x80f900, buf, 7);
+               if (ret < 0)
+                       goto err;
 
                if (c->frequency <= 300000000)
                        gain_offset = 7; /* VHF */
@@ -901,9 +906,6 @@ static int af9033_read_signal_strength(struct dvb_frontend *fe, u16 *strength)
                *strength = tmp * 0xffff / 100;
        }
 
-       if (ret)
-               goto err;
-
        return 0;
 
 err: