Comment 24 for bug 459523

Revision history for this message
Robert Lowery (rglowery) wrote :

This is the proper fix that gets things going without workarounds. I'm working on getting it merged upstream, but that will take a while to go from the v4l-dvb tree -> 2.6.31 stable kernel series. Hope you find it useful until it makes its way into a karmic kernel.

-Rob

diff -r c57f47cfb0e8 linux/drivers/media/dvb/dvb-usb/cxusb.c
--- a/linux/drivers/media/dvb/dvb-usb/cxusb.c Wed Nov 04 18:21:15 2009 -0200
+++ b/linux/drivers/media/dvb/dvb-usb/cxusb.c Fri Nov 06 13:28:07 2009 +1100
@@ -666,6 +666,14 @@
        .parallel_ts = 1,
 };

+static struct zl10353_config cxusb_zl10353_xc3028_config_no_i2c_gate = {
+ .demod_address = 0x0f,
+ .if2 = 45600,
+ .no_tuner = 1,
+ .parallel_ts = 1,
+ .disable_i2c_gate_ctrl = 1,
+};
+
 static struct mt352_config cxusb_mt352_xc3028_config = {
        .demod_address = 0x0f,
        .if2 = 4560,
@@ -897,7 +905,7 @@
        cxusb_bluebird_gpio_pulse(adap->dev, 0x02, 1);

        if ((adap->fe = dvb_attach(zl10353_attach,
- &cxusb_zl10353_xc3028_config,
+ &cxusb_zl10353_xc3028_config_no_i2c_gate,
                                   &adap->dev->i2c_adap)) == NULL)
                return -EIO;