summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth R Westerback <krw@cvs.openbsd.org>2011-12-03 03:29:14 +0000
committerKenneth R Westerback <krw@cvs.openbsd.org>2011-12-03 03:29:14 +0000
commit0f8d08abc39405a7cea304734e5e003ecbf62493 (patch)
tree1d65ab4411aad809f58e9ad3448708e508f909f3
parentae0e306c2abecf8f95ebd5b4a22567fafe122c4b (diff)
Make sure splx() is called before exiting trm_StartWaitingSRB().
Found by Jan Klemkow. Thanks!
-rw-r--r--sys/dev/ic/trm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/ic/trm.c b/sys/dev/ic/trm.c
index 40cdf12a62d..a6590cf2989 100644
--- a/sys/dev/ic/trm.c
+++ b/sys/dev/ic/trm.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: trm.c,v 1.29 2011/04/27 03:39:32 krw Exp $
+/* $OpenBSD: trm.c,v 1.30 2011/12/03 03:29:13 krw Exp $
* ------------------------------------------------------------
* O.S : OpenBSD
* File Name : trm.c
@@ -296,7 +296,7 @@ trm_StartWaitingSRB(struct trm_softc *sc)
if ((sc->pActiveDCB != NULL) ||
(TAILQ_EMPTY(&sc->waitingSRB)) ||
(sc->sc_Flag & (RESET_DETECT | RESET_DONE | RESET_DEV)) != 0)
- return;
+ goto out;
for (pSRB = TAILQ_FIRST(&sc->waitingSRB); pSRB != NULL; pSRB = next) {
next = TAILQ_NEXT(pSRB, link);
@@ -309,6 +309,7 @@ trm_StartWaitingSRB(struct trm_softc *sc)
}
}
+out:
splx(intflag);
}