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>
This commit is contained in:
Daniel Scheller 2017-07-09 12:36:45 -04:00 коммит произвёл Mauro Carvalho Chehab
Родитель 979507a751
Коммит 3658ea39f9
1 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -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)