diff options
author | 2002-07-20 11:22:27 +0000 | |
---|---|---|
committer | 2002-07-20 11:22:27 +0000 | |
commit | 7f014253e00afa7bb545d5befc368b733f7d5c97 (patch) | |
tree | 17c8fdefbd0672996e1e80d463e61cfd2cec68a1 | |
parent | short -u description in httpd -h (diff) | |
download | wireguard-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.c | 7 |
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); } |