From: Todd Poynor Date: Tue, 3 Jan 2006 17:33:46 +0000 (-0800) Subject: [PATCH] ARM: OMAP: OMAP touchscreen timer BUG X-Git-Tag: v2.6.15-omap2~35 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=bcc4d1d55ac60e334bccbd8ca07000f025c70663;p=linux-2.6-omap-h63xx.git [PATCH] ARM: OMAP: OMAP touchscreen timer BUG Fix OMAP touchscreen timer restart BUG. kernel BUG at include/linux/timer.h:83! [] (__bug+0x0/0x58) from [] (omap_ts_handler+0x60/0x78) [] (omap_ts_handler+0x0/0x78) from [] (__do_irq+0x4c/0x8c) which is: static inline void add_timer(struct timer_list *timer) { BUG_ON(timer_pending(timer)); __mod_timer(timer, timer->expires); Signed-off-by: Todd Poynor Signed-off-by: Tony Lindgren --- diff --git a/drivers/input/touchscreen/omap/omap_ts.c b/drivers/input/touchscreen/omap/omap_ts.c index bfc9b591a8d..3b13c0d272f 100644 --- a/drivers/input/touchscreen/omap/omap_ts.c +++ b/drivers/input/touchscreen/omap/omap_ts.c @@ -120,8 +120,7 @@ static irqreturn_t omap_ts_handler(int irq, void *dev_id, struct pt_regs *regs) disable_irq(irq); } // restart acquire - ts_omap.ts_timer.expires = jiffies + HZ / 100; - add_timer(&(ts_omap.ts_timer)); + mod_timer(&ts_omap.ts_timer, jiffies + HZ / 100); spin_unlock(&ts_omap.lock);