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 Don't schedule admin work while shutdown l...
details: https://anonhg.NetBSD.org/src/rev/7e4a8c7edd87
branches: trunk
changeset: 954615:7e4a8c7edd87
user: msaitoh <msaitoh%NetBSD.org@localhost>
date: Mon Sep 07 03:57:27 2020 +0000
description:
Don't schedule admin work while shutdown like the recovery mode timer.
The admin workqueue also runs while !IFF_UP like the recovery mode timer.
Apply the same change of ixgbe.c 1.254 to ixgbe_schedule_admin_tasklet()
to prevent panic. Found by ozaki-r@.
diffstat:
sys/dev/pci/ixgbe/ixgbe.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diffs (24 lines):
diff -r f1471698f3f3 -r 7e4a8c7edd87 sys/dev/pci/ixgbe/ixgbe.c
--- a/sys/dev/pci/ixgbe/ixgbe.c Mon Sep 07 03:50:41 2020 +0000
+++ b/sys/dev/pci/ixgbe/ixgbe.c Mon Sep 07 03:57:27 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.254 2020/09/01 04:19:16 msaitoh Exp $ */
+/* $NetBSD: ixgbe.c,v 1.255 2020/09/07 03:57:27 msaitoh Exp $ */
/******************************************************************************
@@ -1538,9 +1538,11 @@
ixgbe_schedule_admin_tasklet(struct adapter *adapter)
{
- if (atomic_cas_uint(&adapter->admin_pending, 0, 1) == 0)
- workqueue_enqueue(adapter->admin_wq,
- &adapter->admin_wc, NULL);
+ if (__predict_false(adapter->osdep.detaching == false)) {
+ if (atomic_cas_uint(&adapter->admin_pending, 0, 1) == 0)
+ workqueue_enqueue(adapter->admin_wq,
+ &adapter->admin_wc, NULL);
+ }
}
/************************************************************************
Home |
Main Index |
Thread Index |
Old Index