diff options
author | 1998-06-27 22:42:47 +0000 | |
---|---|---|
committer | 1998-06-27 22:42:47 +0000 | |
commit | 48ee2d97d4eba2309a5712fafe637960f3fbfd5e (patch) | |
tree | c2a0c3c9a66cc4da6ad8b1b0e96d35d35032f0ed /sys | |
parent | make isa_intr_establish not panic, but return NULL for failure (diff) | |
download | wireguard-openbsd-48ee2d97d4eba2309a5712fafe637960f3fbfd5e.tar.xz wireguard-openbsd-48ee2d97d4eba2309a5712fafe637960f3fbfd5e.zip |
have pmsprobe() attempt interrupt establishment; fail probe if interrupt in use
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/i386/isa/pms.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/arch/i386/isa/pms.c b/sys/arch/i386/isa/pms.c index 1b7b3fa013e..c67515fb5c3 100644 --- a/sys/arch/i386/isa/pms.c +++ b/sys/arch/i386/isa/pms.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pms.c,v 1.18 1998/04/01 20:21:00 matthieu Exp $ */ +/* $OpenBSD: pms.c,v 1.19 1998/06/27 22:42:47 deraadt Exp $ */ /* $NetBSD: pms.c,v 1.29 1996/05/12 23:12:42 mycroft Exp $ */ /*- @@ -186,6 +186,7 @@ pmsprobe(parent, match, aux) void *match, *aux; { struct cfdata *cf = match; + void *ih; u_char x; /* @@ -210,6 +211,12 @@ pmsprobe(parent, match, aux) if (x & 0x04) return 0; + ih = isa_intr_establish(aux, cf->cf_loc[0], + IST_EDGE, IPL_TTY, pmsintr, NULL, pms_cd.cd_name); + if (ih == NULL) + return 0; + + isa_intr_disestablish(aux, ih); return 1; } |