ifq_barrier should be callable by any nic, not just MPSAFE ones.
authordlg <dlg@openbsd.org>
Fri, 15 Dec 2017 01:40:39 +0000 (01:40 +0000)
committerdlg <dlg@openbsd.org>
Fri, 15 Dec 2017 01:40:39 +0000 (01:40 +0000)
if (when) tx mitigation goes in again, all nics will have deferred
work that will need a barrier to ensure isn't running anymore.

found by bluhm@ when tx mit was in.

sys/net/ifq.c

index 2ab11a9..add143c 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ifq.c,v 1.18 2017/12/15 01:37:30 dlg Exp $ */
+/*     $OpenBSD: ifq.c,v 1.19 2017/12/15 01:40:39 dlg Exp $ */
 
 /*
  * Copyright (c) 2015 David Gwynne <dlg@openbsd.org>
@@ -142,9 +142,6 @@ ifq_barrier(struct ifqueue *ifq)
        struct cond c = COND_INITIALIZER();
        struct task t = TASK_INITIALIZER(ifq_barrier_task, &c);
 
-       /* this should only be called from converted drivers */
-       KASSERT(ISSET(ifq->ifq_if->if_xflags, IFXF_MPSAFE));
-
        if (ifq->ifq_serializer == NULL)
                return;