On 18.10.2016 18:58, Sebastian Lackner wrote:
Not sure if it is a problem, but due to the fact that the device has been opened a long time before starting to read from it, couldn't there be a large amount of reports in the kernel buffers? Do you think it makes sense to skip such outdated reports?
Actually, isn't there also a problem that reports are skipped in certain situations? Handling of hidclass looks correct to me, but there is a risk that process_hid_report() will drop the report if there is no pending IRP in the list. This happens for a short time inbetween of the IOCTL_HID_READ_REPORT ioctls.
Regards, Sebastian