lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 25 Jun 2009 19:09:14 +0300 From: Phil Carmody <ext-phil.2.carmody@...ia.com> To: ext Alek Du <alek.du@...el.com> Cc: "Nikula Jani.1 (EXT-Nixu/Helsinki)" <ext-jani.1.nikula@...ia.com>, LKML <linux-kernel@...r.kernel.org>, Trilok Soni <soni.trilok@...il.com>, "linux-input@...r.kernel.org" <linux-input@...r.kernel.org>, Dmitry Torokhov <dmitry.torokhov@...il.com>, "ben-linux@...ff.org" <ben-linux@...ff.org> Subject: Re: [PATCH]input: Change timer function to workqueue for gpio_keys driver On Thu, 2009-06-25 at 17:48 +0200, ext Alek Du wrote: > On Thu, 25 Jun 2009 23:42:08 +0800 > Jani Nikula <ext-jani.1.nikula@...ia.com> wrote: > > > On Thu, 2009-06-25 at 17:09 +0200, ext Alek Du wrote: > > > On Thu, 25 Jun 2009 23:05:55 +0800 > > > Jani Nikula <ext-jani.1.nikula@...ia.com> wrote: > > > > Actually scrap that, the input layer already ignores events with no > > > > state changes, right? > > > > > > > Yes, correct. I just want to reply your previous mail, but seems you find that. :-) > > > > The point about your patch breaking debouncing is still valid, though. > > > > > How? If IRQ triggered then the delay work scheduled, after debouncing time, in work, it checks GPIO pin state again, > if pin is active, send "1" to input layer -- key pressed, if de-active, send "0" -- no event. > > I really did test on my board, could you also try it out? This is not a matter of testing, this error can be seen simply by algorithm analysis - that's how Jani and I discovered the problem in the first place. If you stopped calling the delay after the first transition "debouncing time" and simply called it a "delay" you might more easily see that it does *no* debouncing at all. Imagine putting noise on the line constantly - the original code's timer would never expire. Your timer will expire after a delay, and while the line is still toggling frantically - you've not debounced. Please investigate the meaning and implications of "debouncing" before claiming your code does it. Phil -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists