From: Jose Alberto Reguero <jareguero@telefonica.net> Date: Mon, 13 Oct 2008 21:23:49 +0000 (-0300) Subject: V4L/DVB (9272): mxl5005s: Bug fix stopped DVB-T from working the second time around. X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=ca341e4d1b07ac9077b448c623ec256c89a2e080;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git V4L/DVB (9272): mxl5005s: Bug fix stopped DVB-T from working the second time around. Jose reported: I am using a Avermedia Volar X with af9015 driver(DVB-T). The first time you use the card, first call reconfigure with MXL_QAM, and when tune DVB-T it calls reconfigure with MXL_DVBT. But if you close the frontend and open again, it calls reconfigure with MXL_QAM, but not call reconfigure with MXL_DVBT because state->current_mode don't change (is MXL_DVBT). Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net> Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> --- diff --git a/drivers/media/common/tuners/mxl5005s.c b/drivers/media/common/tuners/mxl5005s.c index 3844e1c00ffc..a8878244bb3c 100644 --- a/drivers/media/common/tuners/mxl5005s.c +++ b/drivers/media/common/tuners/mxl5005s.c @@ -3912,7 +3912,10 @@ static int mxl5005s_writeregs(struct dvb_frontend *fe, u8 *addrtable, static int mxl5005s_init(struct dvb_frontend *fe) { + struct mxl5005s_state *state = fe->tuner_priv; + dprintk(1, "%s()\n", __func__); + state->current_mode = MXL_QAM; return mxl5005s_reconfigure(fe, MXL_QAM, MXL5005S_BANDWIDTH_6MHZ); } @@ -4094,7 +4097,6 @@ struct dvb_frontend *mxl5005s_attach(struct dvb_frontend *fe, state->frontend = fe; state->config = config; state->i2c = i2c; - state->current_mode = MXL_QAM; printk(KERN_INFO "MXL5005S: Attached at address 0x%02x\n", config->i2c_address);