--- src/sys/platform/vkernel/platform/machintr.c 2007/07/01 03:04:15 1.13 +++ src/sys/platform/vkernel/platform/machintr.c 2007/07/02 01:47:22 1.14 @@ -161,8 +161,10 @@ signalintr(int intr) atomic_set_int_nonlocked(&gd->gd_fpending, 1 << intr); atomic_set_int_nonlocked(&gd->mi.gd_reqflags, RQF_INTPEND); } else { + crit_enter_quick(td); atomic_clear_int(&gd->gd_fpending, 1 << intr); sched_ithd(intr); + crit_exit_quick(td); } }