Module Name: src Committed By: msaitoh Date: Mon Aug 31 06:20:06 UTC 2020
Modified Files: src/sys/dev/pci/ixgbe: ixgbe.c ixgbe_phy.c Log Message: Fix 82598 SFP+ problems. On 82598, SFP+'s MOD_ABS isn't connected to the MAC's GPIO pin, so we can't call ixgbe_sfp_cage_full(). Always issue TASK_MOD from ixgbe_handle_timer() on 82598. Fix ixgbe_identify_sfp_module_generic() for ixgbe_phy_nl. In the driver, hw->phy.type sometimes be compared with ixgbe_phy_nl. In ixgbe_identify_sfp_module_generic(), hw->phy.type may be overridden with another value. For ixgbe_phy_nl, some code don't override phy.type but others were not. Make it consistently keep ixgbe_phy_nl. This change fixes a problem that ixgbe_is_sfp() change the return value true to false when any SFP+ devices are connected to the cage on 82598 and never recover from it. Don't schedule MSF(multi speed fiber) task from ixgbe_handle_mod() on 82598. This task is only for devices which support multi speed fiber and 82598 doesn't support it. Before ixgbe.c rev. 1.237, ixgbe_handle_mod() isn't called on 82598 because 82598 has no SFP+ module insertion/removal interrupt. ixgbe.c rev. 1.237 changed to call the function via timer on 82598. This change fixes a bug that 82598 DA interface's link flaps. To generate a diff of this commit: cvs rdiff -u -r1.248 -r1.249 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.21 -r1.22 src/sys/dev/pci/ixgbe/ixgbe_phy.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.