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;