summaryrefslogtreecommitdiffstats
path: root/sys/net/if_ppp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/net/if_ppp.c')
-rw-r--r--sys/net/if_ppp.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/net/if_ppp.c b/sys/net/if_ppp.c
index 5030ac58..a24cd81 100644
--- a/sys/net/if_ppp.c
+++ b/sys/net/if_ppp.c
@@ -274,7 +274,8 @@ ppp_modevent(module_t mod, int type, void *data)
LIST_INIT(&ppp_softc_list);
if_clone_attach(&ppp_cloner);
- netisr_register(NETISR_PPP, (netisr_t *)pppintr, NULL, 0);
+ netisr_register(NETISR_PPP, (netisr_t *)pppintr, NULL,
+ NETISR_FORCEQUEUE);
/*
* XXX layering violation - if_ppp can work over any lower
* level transport that cares to attach to it.
@@ -1212,8 +1213,7 @@ pppintr()
int s;
struct mbuf *m;
- GIANT_REQUIRED;
-
+ mtx_lock(&Giant);
PPP_LIST_LOCK();
LIST_FOREACH(sc, &ppp_softc_list, sc_list) {
s = splimp();
@@ -1237,6 +1237,7 @@ pppintr()
}
}
PPP_LIST_UNLOCK();
+ mtx_unlock(&Giant);
}
#ifdef PPP_COMPRESS
OpenPOWER on IntegriCloud