Module Name: src Committed By: ozaki-r Date: Fri May 25 04:40:27 UTC 2018
Modified Files: src/sys/dev/pci: if_wm.c src/sys/dev/pci/ixgbe: ixgbe.c ixv.c src/sys/net: if_bridge.c if_gif.c if_pppoe.c Log Message: Ensure to call if_register after interface initializations finish To generate a diff of this commit: cvs rdiff -u -r1.579 -r1.580 src/sys/dev/pci/if_wm.c cvs rdiff -u -r1.155 -r1.156 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.100 -r1.101 src/sys/dev/pci/ixgbe/ixv.c cvs rdiff -u -r1.155 -r1.156 src/sys/net/if_bridge.c cvs rdiff -u -r1.141 -r1.142 src/sys/net/if_gif.c cvs rdiff -u -r1.137 -r1.138 src/sys/net/if_pppoe.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/if_wm.c diff -u src/sys/dev/pci/if_wm.c:1.579 src/sys/dev/pci/if_wm.c:1.580 --- src/sys/dev/pci/if_wm.c:1.579 Thu May 10 03:43:42 2018 +++ src/sys/dev/pci/if_wm.c Fri May 25 04:40:26 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wm.c,v 1.579 2018/05/10 03:43:42 msaitoh Exp $ */ +/* $NetBSD: if_wm.c,v 1.580 2018/05/25 04:40:26 ozaki-r Exp $ */ /* * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. @@ -83,7 +83,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.579 2018/05/10 03:43:42 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.580 2018/05/25 04:40:26 ozaki-r Exp $"); #ifdef _KERNEL_OPT #include "opt_net_mpsafe.h" @@ -2829,8 +2829,8 @@ alloc_retry: } sc->sc_ipq = if_percpuq_create(&sc->sc_ethercom.ec_if); ether_ifattach(ifp, enaddr); - if_register(ifp); ether_set_ifflags_cb(&sc->sc_ethercom, wm_ifflags_cb); + if_register(ifp); rnd_attach_source(&sc->rnd_source, xname, RND_TYPE_NET, RND_FLAG_DEFAULT); Index: src/sys/dev/pci/ixgbe/ixgbe.c diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.155 src/sys/dev/pci/ixgbe/ixgbe.c:1.156 --- src/sys/dev/pci/ixgbe/ixgbe.c:1.155 Wed May 23 10:11:07 2018 +++ src/sys/dev/pci/ixgbe/ixgbe.c Fri May 25 04:40:27 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: ixgbe.c,v 1.155 2018/05/23 10:11:07 msaitoh Exp $ */ +/* $NetBSD: ixgbe.c,v 1.156 2018/05/25 04:40:27 ozaki-r Exp $ */ /****************************************************************************** @@ -1316,7 +1316,6 @@ ixgbe_setup_interface(device_t dev, stru * We use per TX queue softint, so if_deferred_start_init() isn't * used. */ - if_register(ifp); ether_set_ifflags_cb(ec, ixgbe_ifflags_cb); adapter->max_frame_size = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; @@ -1365,6 +1364,8 @@ ixgbe_setup_interface(device_t dev, stru /* Set autoselect media by default */ ifmedia_set(&adapter->media, IFM_ETHER | IFM_AUTO); + if_register(ifp); + return (0); } /* ixgbe_setup_interface */ Index: src/sys/dev/pci/ixgbe/ixv.c diff -u src/sys/dev/pci/ixgbe/ixv.c:1.100 src/sys/dev/pci/ixgbe/ixv.c:1.101 --- src/sys/dev/pci/ixgbe/ixv.c:1.100 Wed May 23 10:11:07 2018 +++ src/sys/dev/pci/ixgbe/ixv.c Fri May 25 04:40:27 2018 @@ -1,4 +1,4 @@ -/*$NetBSD: ixv.c,v 1.100 2018/05/23 10:11:07 msaitoh Exp $*/ +/*$NetBSD: ixv.c,v 1.101 2018/05/25 04:40:27 ozaki-r Exp $*/ /****************************************************************************** @@ -1519,7 +1519,6 @@ ixv_setup_interface(device_t dev, struct * We use per TX queue softint, so if_deferred_start_init() isn't * used. */ - if_register(ifp); ether_set_ifflags_cb(ec, ixv_ifflags_cb); adapter->max_frame_size = ifp->if_mtu + IXGBE_MTU_HDR; @@ -1558,6 +1557,8 @@ ixv_setup_interface(device_t dev, struct ifmedia_add(&adapter->media, IFM_ETHER | IFM_AUTO, 0, NULL); ifmedia_set(&adapter->media, IFM_ETHER | IFM_AUTO); + if_register(ifp); + return 0; } /* ixv_setup_interface */ Index: src/sys/net/if_bridge.c diff -u src/sys/net/if_bridge.c:1.155 src/sys/net/if_bridge.c:1.156 --- src/sys/net/if_bridge.c:1.155 Mon May 14 02:55:03 2018 +++ src/sys/net/if_bridge.c Fri May 25 04:40:27 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: if_bridge.c,v 1.155 2018/05/14 02:55:03 ozaki-r Exp $ */ +/* $NetBSD: if_bridge.c,v 1.156 2018/05/25 04:40:27 ozaki-r Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -80,7 +80,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.155 2018/05/14 02:55:03 ozaki-r Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.156 2018/05/25 04:40:27 ozaki-r Exp $"); #ifdef _KERNEL_OPT #include "opt_bridge_ipf.h" @@ -470,9 +470,8 @@ bridge_clone_create(struct if_clone *ifc return error; } - if_register(ifp); - if_alloc_sadl(ifp); + if_register(ifp); return 0; } Index: src/sys/net/if_gif.c diff -u src/sys/net/if_gif.c:1.141 src/sys/net/if_gif.c:1.142 --- src/sys/net/if_gif.c:1.141 Tue May 1 07:21:39 2018 +++ src/sys/net/if_gif.c Fri May 25 04:40:27 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: if_gif.c,v 1.141 2018/05/01 07:21:39 maxv Exp $ */ +/* $NetBSD: if_gif.c,v 1.142 2018/05/25 04:40:27 ozaki-r Exp $ */ /* $KAME: if_gif.c,v 1.76 2001/08/20 02:01:02 kjc Exp $ */ /* @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.141 2018/05/01 07:21:39 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_gif.c,v 1.142 2018/05/25 04:40:27 ozaki-r Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -306,9 +306,9 @@ gifattach0(struct gif_softc *sc) if (rv != 0) return rv; - if_register(&sc->gif_if); if_alloc_sadl(&sc->gif_if); bpf_attach(&sc->gif_if, DLT_NULL, sizeof(u_int)); + if_register(&sc->gif_if); return 0; } Index: src/sys/net/if_pppoe.c diff -u src/sys/net/if_pppoe.c:1.137 src/sys/net/if_pppoe.c:1.138 --- src/sys/net/if_pppoe.c:1.137 Thu May 3 16:52:42 2018 +++ src/sys/net/if_pppoe.c Fri May 25 04:40:27 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: if_pppoe.c,v 1.137 2018/05/03 16:52:42 maxv Exp $ */ +/* $NetBSD: if_pppoe.c,v 1.138 2018/05/25 04:40:27 ozaki-r Exp $ */ /*- * Copyright (c) 2002, 2008 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_pppoe.c,v 1.137 2018/05/03 16:52:42 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_pppoe.c,v 1.138 2018/05/25 04:40:27 ozaki-r Exp $"); #ifdef _KERNEL_OPT #include "pppoe.h" @@ -336,12 +336,12 @@ pppoe_clone_create(struct if_clone *ifc, } sc->sc_sppp.pp_if.if_percpuq = if_percpuq_create(&sc->sc_sppp.pp_if); sppp_attach(&sc->sc_sppp.pp_if); - if_register(&sc->sc_sppp.pp_if); bpf_attach(&sc->sc_sppp.pp_if, DLT_PPP_ETHER, 0); if (LIST_EMPTY(&pppoe_softc_list)) { pfil_add_ihook(pppoe_ifattach_hook, NULL, PFIL_IFNET, if_pfil); } + if_register(&sc->sc_sppp.pp_if); rw_init(&sc->sc_lock);