[linux-dvb] New DigiTV USB firmware works but....

Patrick Boettcher patrick.boettcher at desy.de
Sat Dec 17 17:27:11 CET 2005


Hi again,

I'm so stupid. Can you please try the attached patch?

Sorry,
Patrick.

--
   Mail: patrick.boettcher at desy.de
   WWW:  http://www.wi-bw.tfh-wildau.de/~pboettch/
-------------- next part --------------
Index: linux/drivers/media/dvb/dvb-usb/digitv.c
===================================================================
RCS file: /cvs/video4linux/v4l-dvb/linux/drivers/media/dvb/dvb-usb/digitv.c,v
retrieving revision 1.13
diff -u -3 -p -r1.13 digitv.c
--- linux/drivers/media/dvb/dvb-usb/digitv.c	20 Nov 2005 02:05:41 -0000	1.13
+++ linux/drivers/media/dvb/dvb-usb/digitv.c	17 Dec 2005 16:23:50 -0000
@@ -175,11 +175,13 @@ static int digitv_probe(struct usb_inter
 	if ((ret = dvb_usb_device_init(intf,&digitv_properties,THIS_MODULE,&d)) == 0) {
 		u8 b[4] = { 0 };
 
-		b[0] = 1;
-		digitv_ctrl_msg(d,USB_WRITE_REMOTE_TYPE,0,b,4,NULL,0);
+		if (d != NULL) { /* do that only when the firmware is loaded */
+			b[0] = 1;
+			digitv_ctrl_msg(d,USB_WRITE_REMOTE_TYPE,0,b,4,NULL,0);
 
-		b[0] = 0;
-		digitv_ctrl_msg(d,USB_WRITE_REMOTE,0,b,4,NULL,0);
+			b[0] = 0;
+			digitv_ctrl_msg(d,USB_WRITE_REMOTE,0,b,4,NULL,0);
+		}
 	}
 	return ret;
 }
@@ -194,7 +196,7 @@ static struct dvb_usb_properties digitv_
 	.caps = DVB_USB_IS_AN_I2C_ADAPTER,
 
 	.usb_ctrl = CYPRESS_FX2,
-	.firmware = "dvb-usb-digitv-01.fw",
+	.firmware = "dvb-usb-digitv-02.fw",
 
 	.size_of_priv     = 0,
 
Index: linux/drivers/media/dvb/dvb-usb/dvb-usb-init.c
===================================================================
RCS file: /cvs/video4linux/v4l-dvb/linux/drivers/media/dvb/dvb-usb/dvb-usb-init.c,v
retrieving revision 1.19
diff -u -3 -p -r1.19 dvb-usb-init.c
--- linux/drivers/media/dvb/dvb-usb/dvb-usb-init.c	20 Nov 2005 02:05:41 -0000	1.19
+++ linux/drivers/media/dvb/dvb-usb/dvb-usb-init.c	17 Dec 2005 16:23:50 -0000
@@ -138,6 +138,8 @@ int dvb_usb_device_init(struct usb_inter
 
 	int ret = -ENOMEM,cold=0;
 
+	*du = NULL;
+
 	if ((desc = dvb_usb_find_device(udev,props,&cold)) == NULL) {
 		deb_err("something went very wrong, device was not found in current device list - let's see what comes next.\n");
 		return -ENODEV;


More information about the linux-dvb mailing list