Module Name: src Committed By: thorpej Date: Tue Feb 4 19:42:56 UTC 2020
Modified Files: src/sys/dev/pci/ixgbe: ixgbe.c ixgbe.h Log Message: - Fix locking problem with optics module interrupts: ifmedia_add() may block on memory allocation, and so it cannot be safely done from a softint nor can it be done while holding a spin lock. Fix this by using a workqueue rather than a softint, and hold the IFNET_LOCK across the entire handler, and the CORE_LOCK only across the code that needs to serialize access to the hardware state. - Use ifmedia_fini(). Tested in a variety of devices by msaitoh@. (Thanks!) To generate a diff of this commit: cvs rdiff -u -r1.222 -r1.223 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.62 -r1.63 src/sys/dev/pci/ixgbe/ixgbe.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.