I am currently looking at using a MegTek USB insertion reader and I have run into a problem with the current hiddev. The card reader returns a 338 byte Input report on the interrupt in channel everytime a card is inserted. The data contains basically all the information needed from the card. The problem is that this one report is seen as 338 usage references. So hiddev tries to build all the events for this report but wraps it's buffer as it only allocates space for 64. I increased HIDDEV_BUFFER_SIZE to 512 and everything worked correctly.
My question is whether there would be any issue with increasing the HIDDEV_BUFFER_SIZE to 512? I realize that this causes us to use 24 * 512 bytes instead of 24 * 64 bytes. Is there any specific reason for only allocating 64 or was it just a nice power of 2 number? The main reason why we overflow this buffer is that we report a seperate event for every report count on each usage. So in the case of this card reader there are three usages with a report count of 110. So each of these usages cause 110 seperate events to be generated. If we could somehow pack all the similar data into a single buffer then this device would only generate 11 events per insert instead of 338. This would mean making changes to the file access structures which would likely break things for other people. If no one has issues I will submit a patch to just up the HIDDEV_BUFFER_SIZE to 512 from 64. Michael Downey ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel