diff --git a/linux/drivers/media/dvb/frontends/dib3000mc.c b/linux/drivers/media/dvb/frontends/dib3000mc.c --- a/linux/drivers/media/dvb/frontends/dib3000mc.c +++ b/linux/drivers/media/dvb/frontends/dib3000mc.c @@ -694,6 +694,9 @@ static int dib3000mc_set_frontend(struct struct dvb_frontend_parameters *fep) { struct dib3000mc_state *state = fe->demodulator_priv; + int retval; + + dib3000mc_set_output_mode(state, OUTMODE_HIGH_Z); state->current_bandwidth = fep->u.ofdm.bandwidth; dib3000mc_set_bandwidth(state, BANDWIDTH_TO_KHZ(fep->u.ofdm.bandwidth)); @@ -725,10 +728,12 @@ static int dib3000mc_set_frontend(struct dib3000mc_get_frontend(fe, fep); } + retval = dib3000mc_tune(fe, fep); + /* make this a config parameter */ dib3000mc_set_output_mode(state, OUTMODE_MPEG2_FIFO); - return dib3000mc_tune(fe, fep); + return retval; } static int dib3000mc_read_status(struct dvb_frontend *fe, fe_status_t *stat)