diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2002-07-20 11:22:28 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2002-07-20 11:22:28 +0000 |
commit | 9ed2c8f8e5b5254615df0f4f855c5d05a5de5318 (patch) | |
tree | 549231551bcecbd052c2d8c1ad25e9c263366320 /sys/dev/ic/siop.c | |
parent | 09a3de3b79502bd615be868e9b78e60012227b6b (diff) |
If we call siop_intr manually, make sure it's protected by splbio.
My filesystem has been chopped to pieces.
Diffstat (limited to 'sys/dev/ic/siop.c')
-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); } |