]> err.no Git - linux-2.6/blobdiff - drivers/media/dvb/frontends/dib7000m.c
V4L/DVB (7920): s5h1409.c shouldn't #include "dvb-pll.h"
[linux-2.6] / drivers / media / dvb / frontends / dib7000m.c
index 0ad9f3eb20a6f6249bdfa52677451900dff0950c..5f1375e30dfc25e3bff127b8bf6ebbf4ef2e420e 100644 (file)
@@ -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)
@@ -1344,6 +1347,8 @@ struct dvb_frontend * dib7000m_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr,
        demod->demodulator_priv = st;
        memcpy(&st->demod.ops, &dib7000m_ops, sizeof(struct dvb_frontend_ops));
 
+       st->timf_default = cfg->bw->timf;
+
        if (dib7000m_identify(st) != 0)
                goto error;