diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2011-12-03 03:29:14 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2011-12-03 03:29:14 +0000 |
commit | 0f8d08abc39405a7cea304734e5e003ecbf62493 (patch) | |
tree | 1d65ab4411aad809f58e9ad3448708e508f909f3 | |
parent | ae0e306c2abecf8f95ebd5b4a22567fafe122c4b (diff) |
Make sure splx() is called before exiting trm_StartWaitingSRB().
Found by Jan Klemkow. Thanks!
-rw-r--r-- | sys/dev/ic/trm.c | 5 |
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); } |