[17/18] Force xc5000 firmware loading for NetUP Dual DVB-T/C CI RF card

Message ID 201101011551.46309.aospan@netup.ru (mailing list archive)
State Superseded, archived
Headers

Commit Message

Igor M. Liplianin Jan. 1, 2011, 1:51 p.m. UTC
  Two xc5000 tuners connected to same i2c bus.
Experiments shows that situation when one tuner is not initialized
while other is tuned to channel causes TS errors.

Signed-off-by: Abylay Ospan <aospan@netup.ru>
---
 drivers/media/video/cx23885/cx23885-dvb.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
  

Patch

diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c
index 53c2b6d..e17be5a 100644
--- a/drivers/media/video/cx23885/cx23885-dvb.c
+++ b/drivers/media/video/cx23885/cx23885-dvb.c
@@ -1071,12 +1071,15 @@  static int dvb_register(struct cx23885_tsport *port)
 		fe0->dvb.frontend = dvb_attach(stv0367ter_attach,
 					&netup_stv0367_config[port->nr -1],
 					&i2c_bus->i2c_adap);
-		if (fe0->dvb.frontend != NULL)
+		if (fe0->dvb.frontend != NULL) {
 			if (NULL == dvb_attach(xc5000_attach,
 					fe0->dvb.frontend,
 					&i2c_bus->i2c_adap,
 					&netup_xc5000_tunerconfig[port->nr - 1]))
 				goto frontend_detach;
+			/* load xc5000 firmware */
+			fe0->dvb.frontend->ops.tuner_ops.init(fe0->dvb.frontend);
+		}
 		/* MFE frontend 2 */
 		fe1 = videobuf_dvb_get_frontend(&port->frontends, 2);
 		if (fe1 == NULL)