[PATCH] MSI Megasky 580 GL861 i2c timeout fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



heissan
attached patch adds a little delay before usb-control message sending to avoid i2c timeouts (unwanted message log errors) seen many people.

Looks like gl861 usb-controller messes up and stops responding if i2c messages are send too fast. This happens especially with faster computers. First I tried to change usb_control_msg timeout from 2000 to 4000 but it didn't help.

This bug is mentioned (at least) following mails:
http://linuxtv.org/pipermail/linux-dvb/2007-February/015863.html
http://linuxtv.org/pipermail/linux-dvb/2007-January/015458.html

Jonas Larsson and gingis could you test and report if it works. If still timeouts after the patch then try to add more delay [udelay(10)].

Signed-off-by: Antti Palosaari <crope@xxxxxx>
--
              |||
             (0-0)
---------oOO--(_)--OOo--------------------------------------------
tel. +358 40 535 7322 | MSN Messenger crope@xxxxxx | www.palosaari.fi
-Kahta asiaa en ymmärrä.. C-kielen syntaksi ja naisten logiikka.."

diff -r 580ad59c8bb5 linux/drivers/media/dvb/dvb-usb/gl861.c
--- a/linux/drivers/media/dvb/dvb-usb/gl861.c	Tue Feb 13 16:26:26 2007 -0500
+++ b/linux/drivers/media/dvb/dvb-usb/gl861.c	Wed Feb 14 00:28:13 2007 +0200
@@ -44,6 +44,8 @@ static int gl861_i2c_msg(struct dvb_usb_
 		warn("wlen = %x, aborting.", wlen);
 		return -EINVAL;
 	}
+
+	udelay(10); /* avoid usb i2c timeouts */
 
 	return usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0), req, type,
 			       value, index, rbuf, rlen, 2000);

_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux