summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorart <art@openbsd.org>2002-07-20 11:22:27 +0000
committerart <art@openbsd.org>2002-07-20 11:22:27 +0000
commit7f014253e00afa7bb545d5befc368b733f7d5c97 (patch)
tree17c8fdefbd0672996e1e80d463e61cfd2cec68a1
parentshort -u description in httpd -h (diff)
downloadwireguard-openbsd-7f014253e00afa7bb545d5befc368b733f7d5c97.tar.xz
wireguard-openbsd-7f014253e00afa7bb545d5befc368b733f7d5c97.zip
If we call siop_intr manually, make sure it's protected by splbio.
My filesystem has been chopped to pieces.
-rw-r--r--sys/dev/ic/siop.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/ic/siop.c b/sys/dev/ic/siop.c
index fd1ad22278d..fae73c66490 100644
--- a/sys/dev/ic/siop.c
+++ b/sys/dev/ic/siop.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: siop.c,v 1.20 2002/06/09 02:11:47 jsyn Exp $ */
+/* $OpenBSD: siop.c,v 1.21 2002/07/20 11:22:27 art Exp $ */
/* $NetBSD: siop.c,v 1.39 2001/02/11 18:04:49 bouyer Exp $ */
/*
@@ -1394,8 +1394,11 @@ siop_scsicmd(xs)
splx(s);
if (i == 0) {
siop_timeout(siop_cmd);
- while ((xs->flags & ITSDONE) == 0)
+ while ((xs->flags & ITSDONE) == 0) {
+ s = splbio();
siop_intr(sc);
+ splx(s);
+ }
}
return (COMPLETE);
}