Hi Ken,

If you look at the bug filed in the Linux Kernel Bugzilla
(http://bugzilla.kernel.org/show_bug.cgi?id=1048),
there is an explanation of the problem and a proposed patch.
In hid-core.c, in function hid_input_field(), there is the
following code:

if (field->flags & HID_MAIN_ITEM_RELATIVE) {
   if (!value[n])
       continue;
} else {
   if (value[n] == field->value[n])
        continue;
}

I think this is completely bogus: it compares the value to the
one stored from the previous report, and throws away the report
if the value is the same.  The fix is simply to remove that code.
We have been using this approach in production for almost a year
now, and it did not cause any problems.

What I am surprised to hear, though, is that 2.6 is not working
for you.  The experience has been exactly the opposite for me.
2.6.6, 2.6.9, 2.6.10, all work like a charm for us, and 2.4.21
to 29 proved to cause all kinds of pain.  In general, I'd
describe my experience with HID in 2.4 as "doesn't work".  Did
you try inserting debug printk()'s in early stages of input
report processing to see if you are getting any USB transfers
at all, or the report gets lost somewhere in the hid-land?

Regards,

Boris Shingarov
Development Manager, Linux systems
CRYPTOCard Corp.
340 March Road, Suite 600
Kanata, ON K2K 2E2
Toll Free: (800) 307-7042
Int'l: +1-613-599-2441
mailto: [EMAIL PROTECTED]
http://www.cryptocard.com





-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to