From: Klaus Frahm Date: Sat, 29 Jul 2006 21:49:36 +0000 (-0300) Subject: V4L/DVB (4464): FIX_ AverTV A800 trouble X-Git-Tag: v2.6.19-rc1~643^2~98 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a2c00a0eee751e298c916508b6fa5cee0d7d188d;p=linux-2.6 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 Signed-off-by: Martin Habbecke Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/dvb/dvb-usb/a800.c b/drivers/media/dvb/dvb-usb/a800.c index ce44aa6bbb..df0c384bd4 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,