diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2007-11-06 03:09:31 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2007-11-06 03:09:31 +0000 |
commit | 96138cf8fbeac744f3b9e3613fb731971f0a1cf8 (patch) | |
tree | 68a1c000bd5ae9e7472182e629a8d1154bddaf0e /sys/dev/ic | |
parent | 2499ae4d6f8e22c6fb9509842c2765109edf9276 (diff) |
More scsi_done() at SPLBIO.
Diffstat (limited to 'sys/dev/ic')
-rw-r--r-- | sys/dev/ic/cac.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/ic/cac.c b/sys/dev/ic/cac.c index 8082117d466..462679af7d2 100644 --- a/sys/dev/ic/cac.c +++ b/sys/dev/ic/cac.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cac.c,v 1.24 2007/10/01 04:03:51 krw Exp $ */ +/* $OpenBSD: cac.c,v 1.25 2007/11/06 03:09:30 krw Exp $ */ /* $NetBSD: cac.c,v 1.15 2000/11/08 19:20:35 ad Exp $ */ /* @@ -398,7 +398,7 @@ int cac_ccb_poll(struct cac_softc *sc, struct cac_ccb *wantccb, int timo) { struct cac_ccb *ccb; - int t = timo * 10; + int s, t = timo * 10; do { for (; t--; DELAY(100)) @@ -408,7 +408,9 @@ cac_ccb_poll(struct cac_softc *sc, struct cac_ccb *wantccb, int timo) printf("%s: timeout\n", sc->sc_dv.dv_xname); return (EBUSY); } + s = splbio(); cac_ccb_done(sc, ccb); + splx(s); } while (ccb != wantccb); return (0); |