diff options
Diffstat (limited to 'drivers/char/pcmcia/cm4000_cs.c')
-rw-r--r-- | drivers/char/pcmcia/cm4000_cs.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/char/pcmcia/cm4000_cs.c b/drivers/char/pcmcia/cm4000_cs.c index 211c93fda6fc..e91b43a014b0 100644 --- a/drivers/char/pcmcia/cm4000_cs.c +++ b/drivers/char/pcmcia/cm4000_cs.c | |||
@@ -946,8 +946,7 @@ release_io: | |||
946 | 946 | ||
947 | return_with_timer: | 947 | return_with_timer: |
948 | DEBUGP(7, dev, "<- monitor_card (returns with timer)\n"); | 948 | DEBUGP(7, dev, "<- monitor_card (returns with timer)\n"); |
949 | dev->timer.expires = jiffies + dev->mdelay; | 949 | mod_timer(&dev->timer, jiffies + dev->mdelay); |
950 | add_timer(&dev->timer); | ||
951 | clear_bit(LOCK_MONITOR, &dev->flags); | 950 | clear_bit(LOCK_MONITOR, &dev->flags); |
952 | } | 951 | } |
953 | 952 | ||
@@ -1406,12 +1405,9 @@ static void start_monitor(struct cm4000_dev *dev) | |||
1406 | DEBUGP(3, dev, "-> start_monitor\n"); | 1405 | DEBUGP(3, dev, "-> start_monitor\n"); |
1407 | if (!dev->monitor_running) { | 1406 | if (!dev->monitor_running) { |
1408 | DEBUGP(5, dev, "create, init and add timer\n"); | 1407 | DEBUGP(5, dev, "create, init and add timer\n"); |
1409 | init_timer(&dev->timer); | 1408 | setup_timer(&dev->timer, monitor_card, (unsigned long)dev); |
1410 | dev->monitor_running = 1; | 1409 | dev->monitor_running = 1; |
1411 | dev->timer.expires = jiffies; | 1410 | mod_timer(&dev->timer, jiffies); |
1412 | dev->timer.data = (unsigned long) dev; | ||
1413 | dev->timer.function = monitor_card; | ||
1414 | add_timer(&dev->timer); | ||
1415 | } else | 1411 | } else |
1416 | DEBUGP(5, dev, "monitor already running\n"); | 1412 | DEBUGP(5, dev, "monitor already running\n"); |
1417 | DEBUGP(3, dev, "<- start_monitor\n"); | 1413 | DEBUGP(3, dev, "<- start_monitor\n"); |