From d370b6d1371f66fb3b17e4a7665bd20d91cb0586 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Mon, 15 Apr 2013 17:04:04 -0400 Subject: [PATCH] --- yaml --- r: 370079 b: refs/heads/master c: 1678ec00a632f8b9204e28e5c506128881171604 h: refs/heads/master i: 370077: e7a81f5f22adbde9646f2204df71ab36c845b934 370075: 5300ccc5da379ebc8dad111a07fbbc2018d45af8 370071: 1d973b5a413603c4b2ef2f29bd32f2835edd4d1c 370063: c66ab214dc60893bbb46f674010a1bf687d6d454 370047: 681d71d4ef83f1713be70e1641cc518b518a2f92 v: v3 --- [refs] | 2 +- trunk/drivers/isdn/mISDN/timerdev.c | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index 059dbd340fe8..f9298e631d3a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1b1089561ce596a4032ba1039365090304db1cfd +refs/heads/master: 1678ec00a632f8b9204e28e5c506128881171604 diff --git a/trunk/drivers/isdn/mISDN/timerdev.c b/trunk/drivers/isdn/mISDN/timerdev.c index c00546f830db..ddb8adcd5fbb 100644 --- a/trunk/drivers/isdn/mISDN/timerdev.c +++ b/trunk/drivers/isdn/mISDN/timerdev.c @@ -173,7 +173,6 @@ static int misdn_add_timer(struct mISDNtimerdev *dev, int timeout) { int id; - u_long flags; struct mISDNtimer *timer; if (!timeout) { @@ -184,19 +183,16 @@ misdn_add_timer(struct mISDNtimerdev *dev, int timeout) timer = kzalloc(sizeof(struct mISDNtimer), GFP_KERNEL); if (!timer) return -ENOMEM; - spin_lock_irqsave(&dev->lock, flags); - timer->id = dev->next_id++; + timer->dev = dev; + setup_timer(&timer->tl, dev_expire_timer, (long)timer); + spin_lock_irq(&dev->lock); + id = timer->id = dev->next_id++; if (dev->next_id < 0) dev->next_id = 1; list_add_tail(&timer->list, &dev->pending); - spin_unlock_irqrestore(&dev->lock, flags); - timer->dev = dev; - timer->tl.data = (long)timer; - timer->tl.function = dev_expire_timer; - init_timer(&timer->tl); timer->tl.expires = jiffies + ((HZ * (u_long)timeout) / 1000); add_timer(&timer->tl); - id = timer->id; + spin_unlock_irq(&dev->lock); } return id; }