summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKlaus Frahm <frahm@irsamc.ups-tlse.fr>2006-07-29 18:49:36 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-09-26 11:53:47 -0300
commita2c00a0eee751e298c916508b6fa5cee0d7d188d (patch)
treeec5abde1f2062847f10055f82b765d311b549ed4
parent6c95f61bcb3bd8dde9efc70f0ae9a83a7b7ac9cd (diff)
V4L/DVB (4464): FIX_ AverTV A800 trouble
A new revision of the Avermedia A800 does not reenumerate after download the firmware. Signed-off-by: Klaus Frahm <frahm@irsamc.ups-tlse.fr> Signed-off-by: Martin Habbecke <M.Habbecke@gmx.de> Signed-off-by: Patrick Boettcher <pb@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--drivers/media/dvb/dvb-usb/a800.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/media/dvb/dvb-usb/a800.c b/drivers/media/dvb/dvb-usb/a800.c
index ce44aa6bbb8..df0c384bd4c 100644
--- a/drivers/media/dvb/dvb-usb/a800.c
+++ b/drivers/media/dvb/dvb-usb/a800.c
@@ -26,6 +26,13 @@ static int a800_power_ctrl(struct dvb_usb_device *d, int onoff)
return 0;
}
+/* assure to put cold to 0 for iManufacturer == 1 */
+static int a800_identify_state(struct usb_device *udev, struct dvb_usb_properties *props,struct dvb_usb_device_description **desc, int *cold)
+{
+ *cold = udev->descriptor.iManufacturer != 1;
+ return 0;
+}
+
static struct dvb_usb_rc_key a800_rc_keys[] = {
{ 0x02, 0x01, KEY_PROG1 }, /* SOURCE */
{ 0x02, 0x00, KEY_POWER }, /* POWER */
@@ -113,6 +120,7 @@ static struct dvb_usb_properties a800_properties = {
.power_ctrl = a800_power_ctrl,
.frontend_attach = dibusb_dib3000mc_frontend_attach,
.tuner_attach = dibusb_dib3000mc_tuner_attach,
+ .identify_state = a800_identify_state,
.rc_interval = DEFAULT_RC_INTERVAL,
.rc_key_map = a800_rc_keys,