Hello, This is the last spl lock leak which i've found with static code analysis. This is not in GENERIC. For testing I compiled it into my kernel and run the kernel without any error.
bye, Jan Index: trm.c =================================================================== RCS file: /mount/cvsdev/cvs/openbsd/src/sys/dev/ic/trm.c,v retrieving revision 1.29 diff -u -w -p -r1.29 trm.c --- trm.c 27 Apr 2011 03:39:32 -0000 1.29 +++ trm.c 2 Dec 2011 14:11:03 -0000 @@ -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); }