]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
[PATCH] ARM: OMAP: OMAP touchscreen timer BUG
authorTodd Poynor <tpoynor@mvista.com>
Tue, 3 Jan 2006 17:33:46 +0000 (09:33 -0800)
committerTony Lindgren <tony@atomide.com>
Tue, 3 Jan 2006 17:33:46 +0000 (09:33 -0800)
Fix OMAP touchscreen timer restart BUG.

kernel BUG at include/linux/timer.h:83!
[<c002ac60>] (__bug+0x0/0x58) from [<c01a3fbc>] (omap_ts_handler+0x60/0x78)
[<c01a3f5c>] (omap_ts_handler+0x0/0x78) from [<c00269fc>] (__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 <tpoynor@mvista.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
drivers/input/touchscreen/omap/omap_ts.c

index bfc9b591a8d411a84573e65b19f34c078950b3de..3b13c0d272f3b4889b9457de59ed582275ee2cc0 100644 (file)
@@ -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);