On Wednesday 22 February 2017 13:20:46 Hans de Goede wrote: > 1) These events do not happen 100s of times per second, they happen > almost never 100 events per second is probably not happening, but on my Latitude I see that sometimes more events are delayed and delivered at once. > 2) This is the best we can do given the firmware interface we have What about just dropping upcoming one event in interval of next 2-3 second? Instead of trying to remember last state in kernel and then trying to mach if received event was that which was caused by change? This would allow us to reduce doing one SMM call for each received event and I think it would be same reliable as your approach. -- Pali Rohár pali.rohar@xxxxxxxxx