On Wed, 6 Dec 2006, Pete Zaitcev wrote:
> On Wed, 6 Dec 2006 10:55:21 -0500 (EST), Alan Stern <[EMAIL PROTECTED]> wrote:
>
> > [...] Some keyboards sometimes send more data than a single report in
> > a packet, leading to EOVERFLOW errors. The patch tries to fix things by
> > using a transfer length at least as large as the maxpacket size. I'm not
> > sure if this will fully fix the problem, though -- if the device actually
> > does stick more than one report in a single packet then the driver will
> > need to parse them all, and the patch doesn't try to do that.
>
> Unfortunately, they do send two reports in one packet, so I had to
> abandon my own version of it.
It shouldn't be very hard to parse more than one report per packet.
> The situation does not happen all that
> often.
It happens quite a lot for one of the users in this bug report:
http://bugzilla.kernel.org/show_bug.cgi?id=6584
> We have to ignore interrupts long enough for two reports to
> batch together. In 2.6.18 at least we reset the device if it gets stuck,
> so for me this is not as urgent as it was in 2.6.9 times.
The bad behavior is triggered by a KVM (no surprise there). Details in
the bug report.
> The other one looks ok, although doesn't it reopens the way for that
> situation when the CPU spins and does not allow disconnect to proceed?
> It needs the parameter set for it first, but still.
Shouldn't any reasonable HID device have bInterval set to something > 1?
That would prevent spinning.
Alternatively, when the kvm parameter is set we could invoke the
hid_io_error() handler as we do now, but make it retry indefinitely rather
than issue a reset after 1 second. Perhaps that would be safer.
Alan Stern
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel