Re: [PATCH 1/2] tsc2007: remove HR timer

From: Richard Röjfors
Date: Thu Jul 09 2009 - 12:52:18 EST


On 6/25/09 11:20 PM, Andrew Morton wrote:
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.

The problem is that the synchronous I2C calls in HR-timer callback context might end up in a deadlock.


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()?

It should, I will post a new patch shortly which should be applied after these two which fixes this.

--Richard
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/