On Tue, 23 Jun 2009 13:54:48 +0200 Richard R__jfors <richard.rojfors.ext@xxxxxxxxxxxxxxx> wrote: > This patch removes the HR timer, since it's bad to do synchronous I2C > in the HR timer callback context. The new implementation makes use > of the global workqueue. The work is scheduled every 5ms when polling > rather than 5 us. > "it's bad" isn't a very good description of the problem which the patch fixes. This matters. People wish to make decisions about whether this patch is needed in 2.6.29.x, 2.6.30.x, 2.6.31, 2.6.32, etc. Without knowing the effects of the problem which the patch fixes, we cannot make that decision! > > + /* cancel any work */ > + cancel_delayed_work(&ts->work); > + Should this have been cancel_delayed_work_sync()? /* * Kill off a pending schedule_delayed_work(). Note that the work callback * function may still be running on return from cancel_delayed_work(), unless * it returns 1 and the work doesn't re-arm itself. Run flush_workqueue() or * cancel_work_sync() to wait on it. */ static inline int cancel_delayed_work(struct delayed_work *work) -- 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