Module Name:    src
Committed By:   msaitoh
Date:           Fri Feb 16 10:11:21 UTC 2018

Modified Files:
        src/sys/dev/pci/ixgbe: ixgbe.c ixv.c

Log Message:
 Fix a bug that the first call of ifflags_cb() causes linkdown. The first
call of ix(gbe|v)_ifflags_cb() refered uninitialized adapter->if_flags.
adapter->if_flags should be initialized in the end of xxx_init().

XXX pullup-[678] (ixgbe)
XXX pullup-8 (ixv)


To generate a diff of this commit:
cvs rdiff -u -r1.122 -r1.123 src/sys/dev/pci/ixgbe/ixgbe.c
cvs rdiff -u -r1.78 -r1.79 src/sys/dev/pci/ixgbe/ixv.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.122 src/sys/dev/pci/ixgbe/ixgbe.c:1.123
--- src/sys/dev/pci/ixgbe/ixgbe.c:1.122	Fri Feb 16 04:50:19 2018
+++ src/sys/dev/pci/ixgbe/ixgbe.c	Fri Feb 16 10:11:21 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.122 2018/02/16 04:50:19 knakahara Exp $ */
+/* $NetBSD: ixgbe.c,v 1.123 2018/02/16 10:11:21 msaitoh Exp $ */
 
 /******************************************************************************
 
@@ -3779,6 +3779,9 @@ ixgbe_init_locked(struct adapter *adapte
 		IXGBE_WRITE_REG(hw, IXGBE_CTRL_EXT, ctrl_ext);
 	}
 
+	/* Update saved flags. See ixgbe_ifflags_cb() */
+	adapter->if_flags = ifp->if_flags;
+
 	/* Now inform the stack we're ready */
 	ifp->if_flags |= IFF_RUNNING;
 

Index: src/sys/dev/pci/ixgbe/ixv.c
diff -u src/sys/dev/pci/ixgbe/ixv.c:1.78 src/sys/dev/pci/ixgbe/ixv.c:1.79
--- src/sys/dev/pci/ixgbe/ixv.c:1.78	Fri Feb 16 04:50:19 2018
+++ src/sys/dev/pci/ixgbe/ixv.c	Fri Feb 16 10:11:21 2018
@@ -1,4 +1,4 @@
-/*$NetBSD: ixv.c,v 1.78 2018/02/16 04:50:19 knakahara Exp $*/
+/*$NetBSD: ixv.c,v 1.79 2018/02/16 10:11:21 msaitoh Exp $*/
 
 /******************************************************************************
 
@@ -785,6 +785,9 @@ ixv_init_locked(struct adapter *adapter)
 	/* And now turn on interrupts */
 	ixv_enable_intr(adapter);
 
+	/* Update saved flags. See ixgbe_ifflags_cb() */
+	adapter->if_flags = ifp->if_flags;
+
 	/* Now inform the stack we're ready */
 	ifp->if_flags |= IFF_RUNNING;
 	ifp->if_flags &= ~IFF_OACTIVE;

Reply via email to