Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21d06544 authored by Patrick Boettcher's avatar Patrick Boettcher Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (3313): FIX: Check if FW was downloaded or not + new firmware file



- When a firmware was downloaded dvb_usb_device_init returns NULL for the
  dvb_usb_device, then nothing should be done with that pointer and device,
  because it will re-enumerate.
- A new firmware should be used with digitv devices. 
- It should make "slave"-devices work and others, too.

Signed-off-by: default avatarPatrick Boettcher <pb@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 123aab28
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -175,12 +175,14 @@ static int digitv_probe(struct usb_interface *intf,
	if ((ret = dvb_usb_device_init(intf,&digitv_properties,THIS_MODULE,&d)) == 0) {
		u8 b[4] = { 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);
		}
	}
	return ret;
}

@@ -194,7 +196,7 @@ static struct dvb_usb_properties digitv_properties = {
	.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,

@@ -229,6 +231,7 @@ static struct dvb_usb_properties digitv_properties = {
			{ &digitv_table[0], NULL },
			{ NULL },
		},
		{ NULL },
	}
};