diff options
Diffstat (limited to 'sys/pc98/cbus/sio.c')
-rw-r--r-- | sys/pc98/cbus/sio.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/pc98/cbus/sio.c b/sys/pc98/cbus/sio.c index d2b78da..fcab170 100644 --- a/sys/pc98/cbus/sio.c +++ b/sys/pc98/cbus/sio.c @@ -350,7 +350,7 @@ static void comclose(struct tty *tp); static int comopen(struct tty *tp, struct cdev *dev); static void sioinput(struct com_s *com); static void siointr1(struct com_s *com); -static void siointr(void *arg); +static int siointr(void *arg); static int commodem(struct tty *tp, int sigon, int sigoff); static int comparam(struct tty *tp, struct termios *t); static void siopoll(void *); @@ -1739,12 +1739,13 @@ determined_type: ; com->irqres = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_ACTIVE); if (com->irqres) { ret = bus_setup_intr(dev, com->irqres, - INTR_TYPE_TTY | INTR_FAST, - siointr, com, &com->cookie); + INTR_TYPE_TTY, + siointr, NULL, com, &com->cookie); if (ret) { ret = bus_setup_intr(dev, com->irqres, INTR_TYPE_TTY, - siointr, com, &com->cookie); + NULL, (driver_intr_t *)siointr, + com, &com->cookie); if (ret == 0) device_printf(dev, "unable to activate interrupt in fast mode - using normal mode\n"); } @@ -2155,7 +2156,7 @@ sioinput(com) #endif } -static void +static int siointr(arg) void *arg; { @@ -2221,6 +2222,7 @@ siointr(arg) } while (possibly_more_intrs); mtx_unlock_spin(&sio_lock); #endif /* COM_MULTIPORT */ + return (FILTER_HANDLED); } static struct timespec siots[8]; |