summaryrefslogtreecommitdiffstats
path: root/drivers/char/pcxx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/pcxx.c')
-rw-r--r--drivers/char/pcxx.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/char/pcxx.c b/drivers/char/pcxx.c
index c09c7dbbe..9a68bb472 100644
--- a/drivers/char/pcxx.c
+++ b/drivers/char/pcxx.c
@@ -895,7 +895,7 @@ static void pcxe_flush_chars(struct tty_struct *tty)
* Driver setup function when linked into the kernel to optionally parse multible
* "digi="-lines and initialize the driver at boot time. No probing.
*/
-void pcxx_setup(char *str, int *ints)
+__initfunc(void pcxx_setup(char *str, int *ints))
{
struct board_info board;
@@ -2358,7 +2358,7 @@ static void do_softint(void *private_)
if(info && info->magic == PCXX_MAGIC) {
struct tty_struct *tty = info->tty;
if (tty && tty->driver_data) {
- if(clear_bit(PCXE_EVENT_HANGUP, &info->event)) {
+ if(test_and_clear_bit(PCXE_EVENT_HANGUP, &info->event)) {
tty_hangup(tty);
wake_up_interruptible(&info->open_wait);
info->asyncflags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CALLOUT_ACTIVE);