Hi Florian On Tue, Sep 3, 2013 at 1:39 PM, Florian Echtler <floe@xxxxxxxxxxxxxx> wrote: > Hello everyone, > > I'm in the process of writing an input driver for the Microsoft > Pixelsense (formerly Surface 2.0). The device only has bulk endpoints > and consequently needs to be polled regularly. My beta driver uses > input-polldev for this, and it appears to work nicely, however, I > couldn't find out how input-polldev behaves if one polling cycle takes > longer than expected and a new poll would already be triggered while the > first one is still running? (CC'ing polldev author Dmitry in case I'm missing something) input-polldev uses the system-freezable-wq. The related code is ./drivers/input/input-polldev.c:33: queue_delayed_work(system_freezable_wq, &dev->work, delay); Since the wq-rewrite all default workqueues are non-reentrant. That is, the new work is still scheduled but only executed after the previous worker returned (in this case, once your ->poll() callback returns). Regards David -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html