summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends/dib7000p.c
diff options
context:
space:
mode:
authorPatrick Boettcher <pb@linuxtv.org>2008-01-25 10:27:06 +0100
committerPatrick Boettcher <pb@linuxtv.org>2008-01-25 10:27:06 +0100
commitb2ca5bfaaed07747dacfcd3de5a2af6e91252e97 (patch)
tree05cf8791d9e76d080d0e044515f14164e0b2df86 /linux/drivers/media/dvb/frontends/dib7000p.c
parent03409b1d634d67201d42bebf4bcfb7f81dba577c (diff)
downloadmediapointer-dvb-s2-b2ca5bfaaed07747dacfcd3de5a2af6e91252e97.tar.gz
mediapointer-dvb-s2-b2ca5bfaaed07747dacfcd3de5a2af6e91252e97.tar.bz2
Fix some tuning problems
From: Soeren Moch <Soeren.Moch@stud.uni-hannover.de> 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>
Diffstat (limited to 'linux/drivers/media/dvb/frontends/dib7000p.c')
-rw-r--r--linux/drivers/media/dvb/frontends/dib7000p.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/linux/drivers/media/dvb/frontends/dib7000p.c b/linux/drivers/media/dvb/frontends/dib7000p.c
index f27df535f..4de739607 100644
--- a/linux/drivers/media/dvb/frontends/dib7000p.c
+++ b/linux/drivers/media/dvb/frontends/dib7000p.c
@@ -1154,8 +1154,9 @@ static int dib7000p_set_frontend(struct dvb_frontend* fe,
struct dvb_frontend_parameters *fep)
{
struct dib7000p_state *state = fe->demodulator_priv;
- int time;
+ int time, ret;
+ dib7000p_set_output_mode(state, OUTMODE_HIGH_Z);
state->current_bandwidth = fep->u.ofdm.bandwidth;
dib7000p_set_bandwidth(state, BANDWIDTH_TO_KHZ(fep->u.ofdm.bandwidth));
@@ -1192,10 +1193,11 @@ static int dib7000p_set_frontend(struct dvb_frontend* fe,
dib7000p_get_frontend(fe, fep);
}
+ ret = dib7000p_tune(fe, fep);
+
/* make this a config parameter */
dib7000p_set_output_mode(state, OUTMODE_MPEG2_FIFO);
-
- return dib7000p_tune(fe, fep);
+ return ret;
}
static int dib7000p_read_status(struct dvb_frontend *fe, fe_status_t *stat)