Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/pci vmxnet3_stop_rendezvous() requires workqueue_wai...



details:   https://anonhg.NetBSD.org/src/rev/e632e4b2c10d
branches:  trunk
changeset: 364574:e632e4b2c10d
user:      knakahara <knakahara%NetBSD.org@localhost>
date:      Wed Mar 30 02:45:14 2022 +0000

description:
vmxnet3_stop_rendezvous() requires workqueue_wait() to wait workqueue not scheduled yet.

diffstat:

 sys/dev/pci/if_vmx.c |  9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diffs (37 lines):

diff -r 5f528c8d7dac -r e632e4b2c10d sys/dev/pci/if_vmx.c
--- a/sys/dev/pci/if_vmx.c      Wed Mar 30 00:06:50 2022 +0000
+++ b/sys/dev/pci/if_vmx.c      Wed Mar 30 02:45:14 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_vmx.c,v 1.6 2022/02/13 19:07:38 riastradh Exp $     */
+/*     $NetBSD: if_vmx.c,v 1.7 2022/03/30 02:45:14 knakahara Exp $     */
 /*     $OpenBSD: if_vmx.c,v 1.16 2014/01/22 06:04:17 brad Exp $        */
 
 /*
@@ -19,7 +19,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_vmx.c,v 1.6 2022/02/13 19:07:38 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_vmx.c,v 1.7 2022/03/30 02:45:14 knakahara Exp $");
 
 #include <sys/param.h>
 #include <sys/cpu.h>
@@ -2714,6 +2714,7 @@
 {
        struct vmxnet3_rxqueue *rxq;
        struct vmxnet3_txqueue *txq;
+       struct vmxnet3_queue *vmxq;
        int i;
 
        for (i = 0; i < sc->vmx_nrxqueues; i++) {
@@ -2726,6 +2727,10 @@
                VMXNET3_TXQ_LOCK(txq);
                VMXNET3_TXQ_UNLOCK(txq);
        }
+       for (i = 0; i < sc->vmx_nrxqueues; i++) {
+               vmxq = &sc->vmx_queue[i];
+               workqueue_wait(sc->vmx_queue_wq, &vmxq->vxq_wq_cookie);
+       }
 }
 
 static void



Home | Main Index | Thread Index | Old Index