提交 ec81b5e6 编写于 作者: T Tilman Schmidt 提交者: Linus Torvalds

[PATCH] isdn4linux: Siemens Gigaset drivers: timer usage

With Hansjoerg Lipp <hjlipp@web.de>

Correct timer usage in the Gigaset drivers to take advantage of the existing
setup_timer() function, and use milliseconds as unit.
Signed-off-by: NHansjoerg Lipp <hjlipp@web.de>
Signed-off-by: NTilman Schmidt <tilman@imap.cc>
Cc: Karsten Keil <kkeil@suse.de>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 bd0d6ef9
......@@ -219,7 +219,7 @@ static void timer_tick(unsigned long data)
timeout = 1;
if (atomic_read(&cs->running)) {
mod_timer(&cs->timer, jiffies + GIG_TICK);
mod_timer(&cs->timer, jiffies + msecs_to_jiffies(GIG_TICK));
if (timeout) {
dbg(DEBUG_CMD, "scheduling timeout");
tasklet_schedule(&cs->event_tasklet);
......@@ -685,9 +685,8 @@ struct cardstate *gigaset_initcs(struct gigaset_driver *drv, int channels,
gigaset_if_init(cs);
atomic_set(&cs->running, 1);
cs->timer.data = (unsigned long) cs;
cs->timer.function = timer_tick;
cs->timer.expires = jiffies + GIG_TICK;
setup_timer(&cs->timer, timer_tick, (unsigned long) cs);
cs->timer.expires = jiffies + msecs_to_jiffies(GIG_TICK);
/* FIXME: can jiffies increase too much until the timer is added?
* Same problem(?) with mod_timer() in timer_tick(). */
add_timer(&cs->timer);
......
......@@ -58,7 +58,7 @@
#define MAX_TIMER_INDEX 1000
#define MAX_SEQ_INDEX 1000
#define GIG_TICK (HZ / 10)
#define GIG_TICK 100 /* in milliseconds */
/* timeout values (unit: 1 sec) */
#define INIT_TIMEOUT 1
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册