diff options
author | Antti Palosaari <crope@iki.fi> | 2014-11-03 21:23:26 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2014-11-04 18:20:06 -0200 |
commit | 1620d221842cb2445680be2afbb36272350b4cac (patch) | |
tree | e218a261308a9586d5e5c7fe00221d30fac2890a /drivers/media/dvb-frontends/af9033.c | |
parent | 0b0d96281f6d59280094b240ca5046b317ade614 (diff) | |
download | linux-stable-1620d221842cb2445680be2afbb36272350b4cac.tar.gz linux-stable-1620d221842cb2445680be2afbb36272350b4cac.tar.bz2 linux-stable-1620d221842cb2445680be2afbb36272350b4cac.zip |
[media] af9033: improve read_signal_strength error handling slightly
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>
Diffstat (limited to 'drivers/media/dvb-frontends/af9033.c')
-rw-r--r-- | drivers/media/dvb-frontends/af9033.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/media/dvb-frontends/af9033.c b/drivers/media/dvb-frontends/af9033.c index e3bae7737874..3f688dea9f07 100644 --- a/drivers/media/dvb-frontends/af9033.c +++ b/drivers/media/dvb-frontends/af9033.c @@ -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: |