mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-22 22:04:47 +08:00
V4L/DVB (13240): firedtv: fix regression: tuning fails due to bogus error return
Since 2.6.32(-rc1), DVB core checks the return value of dvb_frontend_ops.set_frontend. Now it becomes apparent that firedtv always returned a bogus value from its set_frontend method. CC: stable@kernel.org Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
c94115ffc4
commit
dcff9cfe43
@ -141,18 +141,12 @@ static int fdtv_read_uncorrected_blocks(struct dvb_frontend *fe, u32 *ucblocks)
|
|||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define ACCEPTED 0x9
|
|
||||||
|
|
||||||
static int fdtv_set_frontend(struct dvb_frontend *fe,
|
static int fdtv_set_frontend(struct dvb_frontend *fe,
|
||||||
struct dvb_frontend_parameters *params)
|
struct dvb_frontend_parameters *params)
|
||||||
{
|
{
|
||||||
struct firedtv *fdtv = fe->sec_priv;
|
struct firedtv *fdtv = fe->sec_priv;
|
||||||
|
|
||||||
/* FIXME: avc_tuner_dsd never returns ACCEPTED. Check status? */
|
return avc_tuner_dsd(fdtv, params);
|
||||||
if (avc_tuner_dsd(fdtv, params) != ACCEPTED)
|
|
||||||
return -EINVAL;
|
|
||||||
else
|
|
||||||
return 0; /* not sure of this... */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int fdtv_get_frontend(struct dvb_frontend *fe,
|
static int fdtv_get_frontend(struct dvb_frontend *fe,
|
||||||
|
Loading…
Reference in New Issue
Block a user