diff --git a/sys/kern/kern_alq.c b/sys/kern/kern_alq.c --- a/sys/kern/kern_alq.c +++ b/sys/kern/kern_alq.c @@ -37,19 +37,20 @@ #include #include +#include +#include +#include #include #include #include +#include #include #include #include #include -#include -#include -#include +#include #include -#include -#include +#include #include @@ -228,6 +229,9 @@ { struct alq *alq; + if ((howto & RB_NOSYNC) != 0 || SCHEDULER_STOPPED()) + return; + ALD_LOCK(); /* Ensure no new queues can be created. */ diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c --- a/sys/netinet/siftr.c +++ b/sys/netinet/siftr.c @@ -74,6 +74,7 @@ #include #include #include +#include #include #include #include @@ -1300,8 +1301,11 @@ } static void -siftr_shutdown_handler(void *arg) +siftr_shutdown_handler(void *arg, int howto) { + if ((howto & RB_NOSYNC) != 0 || SCHEDULER_STOPPED()) + return; + if (siftr_enabled == 1) { siftr_manage_ops(SIFTR_DISABLE); }