diff --git a/sys/arch/xen/x86/xen_intr.c b/sys/arch/xen/x86/xen_intr.c index 6e618d895b03..4280075846f7 100644 --- a/sys/arch/xen/x86/xen_intr.c +++ b/sys/arch/xen/x86/xen_intr.c @@ -1,4 +1,4 @@ -/* $NetBSD: xen_intr.c,v 1.7 2008/05/25 16:09:30 bouyer Exp $ */ +/* $NetBSD: xen_intr.c,v 1.8 2008/07/01 18:44:50 bouyer Exp $ */ /*- * Copyright (c) 1998, 2001 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: xen_intr.c,v 1.7 2008/05/25 16:09:30 bouyer Exp $"); +__KERNEL_RCSID(0, "$NetBSD: xen_intr.c,v 1.8 2008/07/01 18:44:50 bouyer Exp $"); #include @@ -64,6 +64,9 @@ spllower(int nlevel) uint32_t imask; u_long psl; + if (ci->ci_ilevel <= nlevel) + return; + __insn_barrier(); imask = IUNMASK(ci, nlevel);