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");

Reply via email to