summaryrefslogtreecommitdiff
path: root/drivers/media/dvb/frontends/dib7000m.c
diff options
context:
space:
mode:
authorSoeren Moch <Soeren.Moch@stud.uni-hannover.de>2008-01-25 06:27:06 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 19:05:17 -0200
commit853ea132c75ff2c4e3c3aaf61bf3ef5779774dbc (patch)
treea70a35f555011abdccc7ce86abcdd58a5eb05df2 /drivers/media/dvb/frontends/dib7000m.c
parent13b83b5d516abe2610ae7812267d7d322050bf68 (diff)
downloadlwn-853ea132c75ff2c4e3c3aaf61bf3ef5779774dbc.tar.gz
lwn-853ea132c75ff2c4e3c3aaf61bf3ef5779774dbc.zip
V4L/DVB (7070): Fix some tuning problems
The attached patch solves all my vdr tuning problems on a dib7000p nova-t stick as far as I could check within the last weekend. It disables streaming while tuning, like that the number of faulty TS packets is reduced. Signed-off-by: Soeren Moch <Soeren.Moch@stud.uni-hannover.de> Signed-off-by: Patrick Boettcher <pb@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/dvb/frontends/dib7000m.c')
-rw-r--r--drivers/media/dvb/frontends/dib7000m.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/media/dvb/frontends/dib7000m.c b/drivers/media/dvb/frontends/dib7000m.c
index fb18441a8c57..5f1375e30dfc 100644
--- a/drivers/media/dvb/frontends/dib7000m.c
+++ b/drivers/media/dvb/frontends/dib7000m.c
@@ -1171,7 +1171,9 @@ static int dib7000m_set_frontend(struct dvb_frontend* fe,
struct dvb_frontend_parameters *fep)
{
struct dib7000m_state *state = fe->demodulator_priv;
- int time;
+ int time, ret;
+
+ dib7000m_set_output_mode(state, OUTMODE_HIGH_Z);
state->current_bandwidth = fep->u.ofdm.bandwidth;
dib7000m_set_bandwidth(state, BANDWIDTH_TO_KHZ(fep->u.ofdm.bandwidth));
@@ -1206,10 +1208,11 @@ static int dib7000m_set_frontend(struct dvb_frontend* fe,
dib7000m_get_frontend(fe, fep);
}
+ ret = dib7000m_tune(fe, fep);
+
/* make this a config parameter */
dib7000m_set_output_mode(state, OUTMODE_MPEG2_FIFO);
-
- return dib7000m_tune(fe, fep);
+ return ret;
}
static int dib7000m_read_status(struct dvb_frontend *fe, fe_status_t *stat)