diff options
| -rw-r--r-- | sys/alpha/alpha/vm_machdep.c | 3 | ||||
| -rw-r--r-- | sys/ia64/ia64/vm_machdep.c | 3 | ||||
| -rw-r--r-- | sys/powerpc/aim/vm_machdep.c | 3 | ||||
| -rw-r--r-- | sys/powerpc/powerpc/vm_machdep.c | 3 |
4 files changed, 8 insertions, 4 deletions
diff --git a/sys/alpha/alpha/vm_machdep.c b/sys/alpha/alpha/vm_machdep.c index f260a2696b1e..0aff5a9b0b1b 100644 --- a/sys/alpha/alpha/vm_machdep.c +++ b/sys/alpha/alpha/vm_machdep.c @@ -255,7 +255,8 @@ cpu_exit(p) (void) splhigh(); mtx_enter(&sched_lock, MTX_SPIN); - mtx_exit(&Giant, MTX_DEF); + mtx_exit(&Giant, MTX_DEF | MTX_NOSWITCH); + mtx_assert(&Giant, MA_NOTOWNED); cnt.v_swtch++; cpu_switch(); panic("cpu_exit"); diff --git a/sys/ia64/ia64/vm_machdep.c b/sys/ia64/ia64/vm_machdep.c index 1c575520c999..c1cbf50ae580 100644 --- a/sys/ia64/ia64/vm_machdep.c +++ b/sys/ia64/ia64/vm_machdep.c @@ -304,7 +304,8 @@ cpu_exit(p) (void) splhigh(); mtx_enter(&sched_lock, MTX_SPIN); - mtx_exit(&Giant, MTX_DEF); + mtx_exit(&Giant, MTX_DEF | MTX_NOSWITCH); + mtx_assert(&Giant, MA_NOTOWNED); cnt.v_swtch++; cpu_switch(); panic("cpu_exit"); diff --git a/sys/powerpc/aim/vm_machdep.c b/sys/powerpc/aim/vm_machdep.c index f260a2696b1e..0aff5a9b0b1b 100644 --- a/sys/powerpc/aim/vm_machdep.c +++ b/sys/powerpc/aim/vm_machdep.c @@ -255,7 +255,8 @@ cpu_exit(p) (void) splhigh(); mtx_enter(&sched_lock, MTX_SPIN); - mtx_exit(&Giant, MTX_DEF); + mtx_exit(&Giant, MTX_DEF | MTX_NOSWITCH); + mtx_assert(&Giant, MA_NOTOWNED); cnt.v_swtch++; cpu_switch(); panic("cpu_exit"); diff --git a/sys/powerpc/powerpc/vm_machdep.c b/sys/powerpc/powerpc/vm_machdep.c index f260a2696b1e..0aff5a9b0b1b 100644 --- a/sys/powerpc/powerpc/vm_machdep.c +++ b/sys/powerpc/powerpc/vm_machdep.c @@ -255,7 +255,8 @@ cpu_exit(p) (void) splhigh(); mtx_enter(&sched_lock, MTX_SPIN); - mtx_exit(&Giant, MTX_DEF); + mtx_exit(&Giant, MTX_DEF | MTX_NOSWITCH); + mtx_assert(&Giant, MA_NOTOWNED); cnt.v_swtch++; cpu_switch(); panic("cpu_exit"); |
