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 callout_stop() for recovery_mo...



details:   https://anonhg.NetBSD.org/src/rev/d120694f6638
branches:  trunk
changeset: 973050:d120694f6638
user:      msaitoh <msaitoh%NetBSD.org@localhost>
date:      Wed Jun 17 09:11:13 2020 +0000

description:
Add missing callout_stop() for recovery_mode_timer.

NOTE: One of the difference between the local_timer and recovery_mode_timer
is that local_timer runs only when IFF_UP and recovery_mode_timer always runs
(it's enabled on attach).

diffstat:

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

diffs (40 lines):

diff -r 22efe8d74ae6 -r d120694f6638 sys/dev/pci/ixgbe/ixgbe.c
--- a/sys/dev/pci/ixgbe/ixgbe.c Wed Jun 17 08:42:16 2020 +0000
+++ b/sys/dev/pci/ixgbe/ixgbe.c Wed Jun 17 09:11:13 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.230 2020/06/12 09:28:48 msaitoh Exp $ */
+/* $NetBSD: ixgbe.c,v 1.231 2020/06/17 09:11:13 msaitoh Exp $ */
 
 /******************************************************************************
 
@@ -3593,8 +3593,10 @@
        IXGBE_WRITE_REG(&adapter->hw, IXGBE_CTRL_EXT, ctrl_ext);
 
        callout_halt(&adapter->timer, NULL);
-       if (adapter->feat_en & IXGBE_FEATURE_RECOVERY_MODE)
+       if (adapter->feat_en & IXGBE_FEATURE_RECOVERY_MODE) {
+               callout_stop(&adapter->recovery_mode_timer);
                callout_halt(&adapter->recovery_mode_timer, NULL);
+       }
 
        if (adapter->feat_en & IXGBE_FEATURE_NETMAP)
                netmap_detach(adapter->ifp);
@@ -3917,6 +3919,8 @@
        hw->adapter_stopped = FALSE;
        ixgbe_stop_adapter(hw);
        callout_stop(&adapter->timer);
+       if (adapter->feat_en & IXGBE_FEATURE_RECOVERY_MODE)
+               callout_stop(&adapter->recovery_mode_timer);
        for (i = 0, que = adapter->queues; i < adapter->num_queues; i++, que++)
                que->disabled_count = 0;
 
@@ -4062,6 +4066,9 @@
        ixgbe_enable_rx_dma(hw, rxctrl);
 
        callout_reset(&adapter->timer, hz, ixgbe_local_timer, adapter);
+       if (adapter->feat_en & IXGBE_FEATURE_RECOVERY_MODE)
+               callout_reset(&adapter->recovery_mode_timer, hz,
+                   ixgbe_recovery_mode_timer, adapter);
 
        /* Set up MSI/MSI-X routing */
        if (adapter->feat_en & IXGBE_FEATURE_MSIX) {



Home | Main Index | Thread Index | Old Index