summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-frontends/stv0367.c
diff options
context:
space:
mode:
authorDaniel Scheller <d.scheller@gmx.net>2017-07-09 18:36:45 +0200
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2017-07-20 20:06:56 +0200
commit3658ea39f910ecd469eb0f4966422e85080ef4fc (patch)
tree3b35f72278310175c0f1ea59d7b3ad7dd6ab20c5 /drivers/media/dvb-frontends/stv0367.c
parentmedia: MAINTAINERS: add entries for stv0910 and stv6111 (diff)
downloadlinux-3658ea39f910ecd469eb0f4966422e85080ef4fc.tar.xz
linux-3658ea39f910ecd469eb0f4966422e85080ef4fc.zip
media: dvb-frontends/stv0367: DDB frontend status inquiry fixup
Return 0 instead of -EINVAL in get_frontend if no demod mode is active. This fixes ie. dvb-fe-tool getting confused and assuming a DVBv3 FE on idle frontends when the FE has been put to sleep using sleep(). Also, in read_status(), don't immediately return when no demod is active, so the remaining code has a chance to clear the signal statistics. Signed-off-by: Daniel Scheller <d.scheller@gmx.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/dvb-frontends/stv0367.c')
-rw-r--r--drivers/media/dvb-frontends/stv0367.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/media/dvb-frontends/stv0367.c b/drivers/media/dvb-frontends/stv0367.c
index 8ac0f598978d..59c1aad256c2 100644
--- a/drivers/media/dvb-frontends/stv0367.c
+++ b/drivers/media/dvb-frontends/stv0367.c
@@ -3090,7 +3090,7 @@ static int stv0367ddb_read_status(struct dvb_frontend *fe,
{
struct stv0367_state *state = fe->demodulator_priv;
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
- int ret;
+ int ret = 0;
switch (state->activedemod) {
case demod_ter:
@@ -3100,7 +3100,7 @@ static int stv0367ddb_read_status(struct dvb_frontend *fe,
ret = stv0367cab_read_status(fe, status);
break;
default:
- return 0;
+ break;
}
/* stop and report on *_read_status failure */
@@ -3138,7 +3138,7 @@ static int stv0367ddb_get_frontend(struct dvb_frontend *fe,
break;
}
- return -EINVAL;
+ return 0;
}
static int stv0367ddb_sleep(struct dvb_frontend *fe)