Browse Source

V4L/DVB (10288): af9015: bug fix: stick does not work always when plugged

First control messages to the stick timeouts very often due to probable
hw bug. Repeat first message few times if it fails as workaround.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Antti Palosaari 16 years ago
parent
commit
d1a470fbd9
1 changed files with 6 additions and 1 deletions
  1. 6 1
      drivers/media/dvb/dvb-usb/af9015.c

+ 6 - 1
drivers/media/dvb/dvb-usb/af9015.c

@@ -694,7 +694,12 @@ static int af9015_read_config(struct usb_device *udev)
 
 
 	/* IR remote controller */
 	/* IR remote controller */
 	req.addr = AF9015_EEPROM_IR_MODE;
 	req.addr = AF9015_EEPROM_IR_MODE;
-	ret = af9015_rw_udev(udev, &req);
+	/* first message will timeout often due to possible hw bug */
+	for (i = 0; i < 4; i++) {
+		ret = af9015_rw_udev(udev, &req);
+		if (!ret)
+			break;
+	}
 	if (ret)
 	if (ret)
 		goto error;
 		goto error;
 	deb_info("%s: IR mode:%d\n", __func__, val);
 	deb_info("%s: IR mode:%d\n", __func__, val);