summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordlg <dlg@openbsd.org>2018-07-17 03:32:10 +0000
committerdlg <dlg@openbsd.org>2018-07-17 03:32:10 +0000
commit8c0832a24f813ae37f6dc46451581ab175725d86 (patch)
tree35578ab852f6c46076f45efed137430db52fcbf1 /sys
parentSlot 0 in the hostbased key array was previously RSA1, but that is (diff)
downloadwireguard-openbsd-8c0832a24f813ae37f6dc46451581ab175725d86.tar.xz
wireguard-openbsd-8c0832a24f813ae37f6dc46451581ab175725d86.zip
we have splraise() now
previously the code would do a series of comparisons to IPL_FOO and IPL_BAR, and use splfoo() and splbar() as needed, but for like a dozen different IPl levels (i may be exaggerating). splraise() rolls all of that up. ok deraadt@ mpi@
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/pccbb.c42
1 files changed, 4 insertions, 38 deletions
diff --git a/sys/dev/pci/pccbb.c b/sys/dev/pci/pccbb.c
index e81db231385..642e7879b7f 100644
--- a/sys/dev/pci/pccbb.c
+++ b/sys/dev/pci/pccbb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pccbb.c,v 1.97 2017/09/08 05:36:52 deraadt Exp $ */
+/* $OpenBSD: pccbb.c,v 1.98 2018/07/17 03:32:10 dlg Exp $ */
/* $NetBSD: pccbb.c,v 1.96 2004/03/28 09:49:31 nakayama Exp $ */
/*
@@ -959,50 +959,16 @@ pccbbintr_function(struct pccbb_softc *sc)
{
int retval = 0, val;
struct pccbb_intrhand_list *pil;
- int s, splchanged;
+ int s;
for (pil = sc->sc_pil; pil != NULL; pil = pil->pil_next) {
- /*
- * XXX priority change. gross. I use if-else
- * sentences instead of switch-case sentences in order
- * to avoid duplicate case value error. More than one
- * IPL_XXX may use the same value. It depends on the
- * implementation.
- */
- splchanged = 1;
-#if 0
- if (pil->pil_level == IPL_SERIAL) {
- s = splserial();
- } else if (pil->pil_level == IPL_HIGH) {
-#endif
- if (pil->pil_level == IPL_HIGH) {
- s = splhigh();
- } else if (pil->pil_level == IPL_CLOCK) {
- s = splclock();
- } else if (pil->pil_level == IPL_AUDIO) {
- s = splaudio();
- } else if (pil->pil_level == IPL_VM) {
- s = splvm();
- } else if (pil->pil_level == IPL_TTY) {
- s = spltty();
-#if 0
- } else if (pil->pil_level == IPL_SOFTSERIAL) {
- s = splsoftserial();
-#endif
- } else if (pil->pil_level == IPL_NET) {
- s = splnet();
- } else {
- splchanged = 0;
- /* XXX: ih lower than IPL_BIO runs w/ IPL_BIO. */
- }
+ s = splraise(pil->pil_level);
val = (*pil->pil_func)(pil->pil_arg);
if (val != 0)
pil->pil_count.ec_count++;
- if (splchanged != 0) {
- splx(s);
- }
+ splx(s);
if (retval == 0 || val != 0)
retval = val;