diff options
author | 2003-06-25 22:38:37 +0000 | |
---|---|---|
committer | 2003-06-25 22:38:37 +0000 | |
commit | 04c84d2ec475b8db233f6b19a9df1f8f6d02eb1d (patch) | |
tree | ce364141edb76bface82a7948b48d0e4ea0ca24d | |
parent | fix unified diff output. ok millert@ (diff) | |
download | wireguard-openbsd-04c84d2ec475b8db233f6b19a9df1f8f6d02eb1d.tar.xz wireguard-openbsd-04c84d2ec475b8db233f6b19a9df1f8f6d02eb1d.zip |
Acknowledge the status interrupt in some odd and usually rare cases, which
could render a sparc so crazy it would panic...
-rw-r--r-- | sys/dev/sbus/stp4020.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/sys/dev/sbus/stp4020.c b/sys/dev/sbus/stp4020.c index df31f43b526..f00b8996b36 100644 --- a/sys/dev/sbus/stp4020.c +++ b/sys/dev/sbus/stp4020.c @@ -1,4 +1,4 @@ -/* $OpenBSD: stp4020.c,v 1.8 2003/06/25 22:33:18 mickey Exp $ */ +/* $OpenBSD: stp4020.c,v 1.9 2003/06/25 22:38:37 miod Exp $ */ /* $NetBSD: stp4020.c,v 1.23 2002/06/01 23:51:03 lukem Exp $ */ /*- @@ -462,6 +462,22 @@ stp4020_statintr(arg) h->sock)); r = 1; } + + if ((v & STP4020_ISR0_SCINT) != 0) { + DPRINTF(("stp4020[%d]: Status change\n", + h->sock)); + r = 1; + } + + /* + * Not an interrupt flag per se, but interrupts occur when + * it is asserted, at least on sparc. + */ + if ((v & STP4020_ISR0_WAITST) != 0) { + DPRINTF(("stp4020[%d]: Wait signal\n", + h->sock)); + r = 1; + } } return (r); |