--- - branch: MAIN date: Tue Sep 1 04:19:16 UTC 2020 files: - new: '1.254' old: '1.253' path: src/sys/dev/pci/ixgbe/ixgbe.c pathrev: src/sys/dev/pci/ixgbe/ixgbe.c@1.254 type: modified - new: '1.28' old: '1.27' path: src/sys/dev/pci/ixgbe/ixgbe_osdep.h pathrev: src/sys/dev/pci/ixgbe/ixgbe_osdep.h@1.28 type: modified id: 20200901T041916Z.dbebfb1d072fd74465f4817a707df19c5d8bf010 log: |2 Fix a panic on shutdown on a machine which use the recovery mode timer. The recovery mode timer is first issued by the callout and it schedule the workqueue. The workqueue then reschedule the callout. It's hard to stop both of them without race only with callout_stop() and workqueue_wait. To solve this problem. add new "detaching" flag and use it. The situation is almost the same as schedule_wqs_ok for the local_timer's callout and workqueue, but the difference is that the local_timer isn't required to run if the interface is not up. If it's not important to prevent running timer while !IFF_UP, the flag can be integrated into one. module: src subject: 'CVS commit: src/sys/dev/pci/ixgbe' unixtime: '1598933956' user: msaitoh