summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>1998-06-27 22:42:47 +0000
committerderaadt <deraadt@openbsd.org>1998-06-27 22:42:47 +0000
commit48ee2d97d4eba2309a5712fafe637960f3fbfd5e (patch)
treec2a0c3c9a66cc4da6ad8b1b0e96d35d35032f0ed
parentmake isa_intr_establish not panic, but return NULL for failure (diff)
downloadwireguard-openbsd-48ee2d97d4eba2309a5712fafe637960f3fbfd5e.tar.xz
wireguard-openbsd-48ee2d97d4eba2309a5712fafe637960f3fbfd5e.zip
have pmsprobe() attempt interrupt establishment; fail probe if interrupt in use
-rw-r--r--sys/arch/i386/isa/pms.c9
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;
}