Source-Changes-HG archive

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

[src/trunk]: src/sys/dev/pci/ixgbe Add missing workqueue_wait() for the recov...



details:   https://anonhg.NetBSD.org/src/rev/a36fab00739e
branches:  trunk
changeset: 942725:a36fab00739e
user:      msaitoh <msaitoh%NetBSD.org@localhost>
date:      Mon Aug 17 06:30:25 2020 +0000

description:
Add missing workqueue_wait() for the recovery_mode_timer workqueue.

diffstat:

 sys/dev/pci/ixgbe/ixgbe.c |  9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diffs (23 lines):

diff -r 819bb1759b99 -r a36fab00739e sys/dev/pci/ixgbe/ixgbe.c
--- a/sys/dev/pci/ixgbe/ixgbe.c Mon Aug 17 06:23:01 2020 +0000
+++ b/sys/dev/pci/ixgbe/ixgbe.c Mon Aug 17 06:30:25 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.235 2020/08/13 08:42:18 msaitoh Exp $ */
+/* $NetBSD: ixgbe.c,v 1.236 2020/08/17 06:30:25 msaitoh Exp $ */
 
 /******************************************************************************
 
@@ -3522,6 +3522,13 @@
                adapter->timer_wq = NULL;
        }
        if (adapter->recovery_mode_timer_wq != NULL) {
+               /*
+                * ixgbe_ifstop() doesn't call the workqueue_wait() for
+                * the recovery_mode_timer workqueue, so call it here.
+                */
+               workqueue_wait(adapter->recovery_mode_timer_wq,
+                   &adapter->recovery_mode_timer_wc);
+               atomic_store_relaxed(&adapter->recovery_mode_timer_pending, 0);
                workqueue_destroy(adapter->recovery_mode_timer_wq);
                adapter->recovery_mode_timer_wq = NULL;
        }



Home | Main Index | Thread Index | Old Index