Module Name: src Committed By: msaitoh Date: Mon Apr 2 10:51:35 UTC 2018
Modified Files: src/sys/dev/pci/ixgbe: ixgbe.c Log Message: Fix long standing bug that 82598 SFP+ panics in ixgbe_handle_mod() because hw->mac.ops.setup_sfp is NULL. This change is a part of FreeBSD r327031. To generate a diff of this commit: cvs rdiff -u -r1.141 -r1.142 src/sys/dev/pci/ixgbe/ixgbe.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/ixgbe/ixgbe.c diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.141 src/sys/dev/pci/ixgbe/ixgbe.c:1.142 --- src/sys/dev/pci/ixgbe/ixgbe.c:1.141 Mon Apr 2 05:02:55 2018 +++ src/sys/dev/pci/ixgbe/ixgbe.c Mon Apr 2 10:51:35 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: ixgbe.c,v 1.141 2018/04/02 05:02:55 knakahara Exp $ */ +/* $NetBSD: ixgbe.c,v 1.142 2018/04/02 10:51:35 msaitoh Exp $ */ /****************************************************************************** @@ -4405,7 +4405,11 @@ ixgbe_handle_mod(void *context) return; } - err = hw->mac.ops.setup_sfp(hw); + if (hw->mac.type == ixgbe_mac_82598EB) + err = hw->phy.ops.reset(hw); + else + err = hw->mac.ops.setup_sfp(hw); + if (err == IXGBE_ERR_SFP_NOT_SUPPORTED) { device_printf(dev, "Setup failure - unsupported SFP+ module type.\n");