diff options
author | Visa Hankala <visa@cvs.openbsd.org> | 2017-02-19 09:53:38 +0000 |
---|---|---|
committer | Visa Hankala <visa@cvs.openbsd.org> | 2017-02-19 09:53:38 +0000 |
commit | a9b0e3b7f2ba0b4b6e720e7ee64a6eca461fa059 (patch) | |
tree | 8061b4a70271ab93e9aaa709c1c450f041c1d199 /sys | |
parent | 2af95003a6848ab8b9c968daad70fd5580e8fb96 (diff) |
Skip IO interrupt mask update on secondary CPUs when restoring IPL.
The mask is node-wide, and only the primary CPU handles IO interrupts.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/loongson/loongson/loongson3_intr.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/arch/loongson/loongson/loongson3_intr.c b/sys/arch/loongson/loongson/loongson3_intr.c index fa0f620669c..445c36d4eb0 100644 --- a/sys/arch/loongson/loongson/loongson3_intr.c +++ b/sys/arch/loongson/loongson/loongson3_intr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: loongson3_intr.c,v 1.4 2016/12/12 16:25:47 visa Exp $ */ +/* $OpenBSD: loongson3_intr.c,v 1.5 2017/02/19 09:53:37 visa Exp $ */ /* * Copyright (c) 2016 Visa Hankala @@ -363,8 +363,9 @@ loongson3_splx(int newipl) setipl(ci, newipl); - REGVAL(LS3_IRT_INTENSET(0)) = - loongson3_intem & ~loongson3_imask[newipl]; + if (CPU_IS_PRIMARY(ci)) + REGVAL(LS3_IRT_INTENSET(0)) = + loongson3_intem & ~loongson3_imask[newipl]; if (ci->ci_softpending != 0 && newipl < IPL_SOFTINT) setsoftintr0(); |