--- src/sys/bus/cam/cam_sim.c 2008/06/29 19:15:34 1.12 +++ src/sys/bus/cam/cam_sim.c 2008/07/18 00:07:21 1.13 @@ -69,13 +69,27 @@ cam_sim_unlock(sim_lock *lock) lockmgr(lock, LK_RELEASE); } +/* + * lock can be NULL if sim was &dead_sim + */ void sim_lock_assert_owned(sim_lock *lock) { - if (lock == &sim_mplock) - ASSERT_MP_LOCK_HELD(curthread); - else - KKASSERT(lockstatus(lock, curthread) != 0); + if (lock) { + if (lock == &sim_mplock) + ASSERT_MP_LOCK_HELD(curthread); + else + KKASSERT(lockstatus(lock, curthread) != 0); + } +} + +void +sim_lock_assert_unowned(sim_lock *lock) +{ + if (lock) { + if (lock != &sim_mplock) + KKASSERT(lockstatus(lock, curthread) == 0); + } } int