diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2001-01-10 05:27:25 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2001-01-10 05:27:25 +0000 |
commit | c9c06167e7933d93a6e396174c68abf242294abb (patch) | |
tree | d9a8bb30663e9a3405a1ef37ffb62bc14b9f019f /drivers/sbus | |
parent | f79e8cc3c34e4192a3e5ef4cc9c6542fdef703c0 (diff) |
Merge with Linux 2.4.0-test12.
Diffstat (limited to 'drivers/sbus')
-rw-r--r-- | drivers/sbus/audio/dmy.c | 2 | ||||
-rw-r--r-- | drivers/sbus/char/aurora.c | 20 | ||||
-rw-r--r-- | drivers/sbus/char/sab82532.c | 16 |
3 files changed, 20 insertions, 18 deletions
diff --git a/drivers/sbus/audio/dmy.c b/drivers/sbus/audio/dmy.c index 560134ba2..91cc447fb 100644 --- a/drivers/sbus/audio/dmy.c +++ b/drivers/sbus/audio/dmy.c @@ -547,7 +547,7 @@ static void dummy_start_output(struct sparcaudio_driver *drv, __u8 * buffer, dummy_chip->perchip_info.play.active = 1; /* fake an "interrupt" to deal with this block */ - dummy_chip->tqueue.next = NULL; + INIT_LIST_HEAD(&dummy_chip->tqueue.list); dummy_chip->tqueue.sync = 0; dummy_chip->tqueue.routine = dummy_output_done_task; dummy_chip->tqueue.data = drv; diff --git a/drivers/sbus/char/aurora.c b/drivers/sbus/char/aurora.c index f2ee5ccc3..c640c9fe8 100644 --- a/drivers/sbus/char/aurora.c +++ b/drivers/sbus/char/aurora.c @@ -1,4 +1,4 @@ -/* $Id: aurora.c,v 1.9 2000/11/08 05:33:03 davem Exp $ +/* $Id: aurora.c,v 1.10 2000/12/07 04:35:38 anton Exp $ * linux/drivers/sbus/char/aurora.c -- Aurora multiport driver * * Copyright (c) 1999 by Oliver Aldulea (oli@bv.ro) @@ -666,9 +666,11 @@ static void aurora_check_modem(struct Aurora_board const * bp, int chip) if (sbus_readb(&bp->r[chip]->r[CD180_MSVR]) & MSVR_CD) wake_up_interruptible(&port->open_wait); else if (!((port->flags & ASYNC_CALLOUT_ACTIVE) && - (port->flags & ASYNC_CALLOUT_NOHUP))) - queue_task(&port->tqueue_hangup, - &tq_scheduler); + (port->flags & ASYNC_CALLOUT_NOHUP))) { + MOD_INC_USE_COUNT; + if (schedule_task(&port->tqueue_hangup) == 0) + MOD_DEC_USE_COUNT; + } } /* We don't have such things yet. My aurora board has DTR and RTS swapped, but that doesn't count in this driver. Let's hope @@ -2211,13 +2213,13 @@ static void do_aurora_hangup(void *private_) printk("do_aurora_hangup: start\n"); #endif tty = port->tty; - if (tty == NULL) - return; - - tty_hangup(tty); + if (tty != NULL) { + tty_hangup(tty); /* FIXME: module removal race - AKPM */ #ifdef AURORA_DEBUG - printk("do_aurora_hangup: end\n"); + printk("do_aurora_hangup: end\n"); #endif + } + MOD_DEC_USE_COUNT; } static void aurora_hangup(struct tty_struct * tty) diff --git a/drivers/sbus/char/sab82532.c b/drivers/sbus/char/sab82532.c index fa5f383c3..5de83158b 100644 --- a/drivers/sbus/char/sab82532.c +++ b/drivers/sbus/char/sab82532.c @@ -1,4 +1,4 @@ -/* $Id: sab82532.c,v 1.53 2000/11/15 07:28:09 davem Exp $ +/* $Id: sab82532.c,v 1.54 2000/12/07 04:35:39 anton Exp $ * sab82532.c: ASYNC Driver for the SIEMENS SAB82532 DUSCC. * * Copyright (C) 1997 Eddie C. Dost (ecd@skynet.be) @@ -527,8 +527,9 @@ check_modem: #ifdef SERIAL_DEBUG_OPEN printk("scheduling hangup..."); #endif - - queue_task(&info->tqueue_hangup, &tq_scheduler); + MOD_INC_USE_COUNT; + if (schedule_task(&info->tqueue_hangup) == 0) + MOD_DEC_USE_COUNT; } } @@ -676,10 +677,9 @@ static void do_serial_hangup(void *private_) struct tty_struct *tty; tty = info->tty; - if (!tty) - return; - - tty_hangup(tty); + if (tty) + tty_hangup(tty); + MOD_DEC_USE_COUNT; } static void @@ -2134,7 +2134,7 @@ static void __init sab82532_kgdb_hook(int line) static inline void __init show_serial_version(void) { - char *revision = "$Revision: 1.53 $"; + char *revision = "$Revision: 1.54 $"; char *version, *p; version = strchr(revision, ' '); |