[media] cxusb: TS mode setting for TT CT2-4400
authorOlli Salonen <olli.salonen@iki.fi>
Sun, 26 Oct 2014 07:56:12 +0000 (04:56 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Mon, 3 Nov 2014 14:26:56 +0000 (12:26 -0200)
There is a new version of the TechnoTrend CT2-4400 USB tuner. The difference is the demodulator that is used (Si2168-B40 instead of -A30).

For TT CT2-4400v2 a TS stream related parameter needs to be set, otherwise the stream becomes corrupted. The Windows driver for both CT2-4400 and CT2-4400v2 sets this as well. After this patch the driver works for both versions.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/usb/dvb-usb/cxusb.c

index 356abb369c20b6cd07649fd1f75252f939d0a6e0..8925b3946994c8a509d6dd627e2aaeae5ef7a4c2 100644 (file)
@@ -1438,6 +1438,12 @@ static int cxusb_tt_ct2_4400_attach(struct dvb_usb_adapter *adap)
        si2168_config.i2c_adapter = &adapter;
        si2168_config.fe = &adap->fe_adap[0].fe;
        si2168_config.ts_mode = SI2168_TS_PARALLEL;
+
+       /* CT2-4400v2 TS gets corrupted without this */
+       if (d->udev->descriptor.idProduct ==
+               USB_PID_TECHNOTREND_TVSTICK_CT2_4400)
+               si2168_config.ts_mode |= 0x40;
+
        memset(&info, 0, sizeof(struct i2c_board_info));
        strlcpy(info.type, "si2168", I2C_NAME_SIZE);
        info.addr = 0x64;