summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux/Documentation/dvb/ttusb-dec.txt6
-rw-r--r--linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c14
2 files changed, 11 insertions, 9 deletions
diff --git a/linux/Documentation/dvb/ttusb-dec.txt b/linux/Documentation/dvb/ttusb-dec.txt
index 1eca96907..b8e24995c 100644
--- a/linux/Documentation/dvb/ttusb-dec.txt
+++ b/linux/Documentation/dvb/ttusb-dec.txt
@@ -49,9 +49,9 @@ For 2.4 kernels the firmware for the DECs is compiled into the driver itself.
The firmwares are expected to be in the build-2.4 directory at compilation
time.
-mv STB_PC_T.bin build-2.4/dec2000t.bin
-mv STB_PC_X.bin build-2.4/dec2540t.bin
-mv STB_PC_S.bin build-2.4/dec3000s.bin
+mv STB_PC_T.bin build-2.4/dvb-ttusb-dec-2000t.fw
+mv STB_PC_X.bin build-2.4/dvb-ttusb-dec-2540t.fw
+mv STB_PC_S.bin build-2.4/dvb-ttusb-dec-3000s.fw
Hotplug Firmware Loading for 2.6 kernels
diff --git a/linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c b/linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c
index bb70b7e65..0a2b388d8 100644
--- a/linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c
+++ b/linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c
@@ -802,6 +802,7 @@ static int ttusb_dec_set_interface(struct ttusb_dec *dec,
enum ttusb_dec_interface interface)
{
int result = 0;
+ u8 b[] = { 0x05 };
if (interface != dec->interface) {
switch (interface) {
@@ -809,6 +810,10 @@ static int ttusb_dec_set_interface(struct ttusb_dec *dec,
result = usb_set_interface(dec->udev, 0, 0);
break;
case TTUSB_DEC_INTERFACE_IN:
+ result = ttusb_dec_send_command(dec, 0x80, sizeof(b),
+ b, NULL, NULL);
+ if (result)
+ return result;
result = usb_set_interface(dec->udev, 0, 7);
break;
case TTUSB_DEC_INTERFACE_OUT:
@@ -821,6 +826,7 @@ static int ttusb_dec_set_interface(struct ttusb_dec *dec,
dec->interface = interface;
}
+
return 0;
}
@@ -865,10 +871,6 @@ static int ttusb_dec_start_iso_xfer(struct ttusb_dec *dec)
up(&dec->iso_sem);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
- ttusb_dec_set_interface(dec, TTUSB_DEC_INTERFACE_IN);
-#endif
-
return 0;
}
@@ -1786,11 +1788,11 @@ static int ttusb_dec_probe(struct usb_interface *intf,
dec->active = 1;
+ ttusb_dec_set_interface(dec, TTUSB_DEC_INTERFACE_IN);
+
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
return (void *)dec;
#else
- ttusb_dec_set_interface(dec, TTUSB_DEC_INTERFACE_IN);
-
return 0;
#endif
}