From cd036ec1936a2f54579f0c92c7144867beebf615 Mon Sep 17 00:00:00 2001 From: Brooks Davis Date: Sat, 11 Jun 2005 01:37:46 +0000 Subject: [PATCH] Move if_alloc() up so it's before mii_phy_probe(). --- sys/dev/nve/if_nve.c | 20 +++++++++++--------- sys/dev/re/if_re.c | 13 +++++++------ sys/dev/sf/if_sf.c | 13 +++++++------ sys/dev/vge/if_vge.c | 13 +++++++------ sys/pci/if_rl.c | 13 +++++++------ sys/pci/if_sf.c | 13 +++++++------ sys/pci/if_ste.c | 13 +++++++------ 7 files changed, 53 insertions(+), 45 deletions(-) diff --git a/sys/dev/nve/if_nve.c b/sys/dev/nve/if_nve.c index 131502d7949..bf6d0345f36 100644 --- a/sys/dev/nve/if_nve.c +++ b/sys/dev/nve/if_nve.c @@ -492,21 +492,23 @@ nve_attach(device_t dev) /* Display ethernet address ,... */ device_printf(dev, "Ethernet address %6D\n", eaddr, ":"); - DEBUGOUT(NVE_DEBUG_INIT, "nve: do mii_phy_probe\n"); - - /* Probe device for MII interface to PHY */ - if (mii_phy_probe(dev, &sc->miibus, nve_ifmedia_upd, nve_ifmedia_sts)) { - device_printf(dev, "MII without any phy!\n"); - error = ENXIO; - goto fail; - } - /* Setup interface parameters */ + /* Allocate interface structures */ ifp = sc->ifp = if_alloc(IFT_ETHER); if (ifp == NULL) { device_printf(dev, "can not if_alloc()\n"); error = ENOSPC; goto fail; } + + /* Probe device for MII interface to PHY */ + DEBUGOUT(NVE_DEBUG_INIT, "nve: do mii_phy_probe\n"); + if (mii_phy_probe(dev, &sc->miibus, nve_ifmedia_upd, nve_ifmedia_sts)) { + device_printf(dev, "MII without any phy!\n"); + error = ENXIO; + goto fail; + } + + /* Setup interface parameters */ ifp->if_softc = sc; if_initname(ifp, "nve", unit); ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index fc84ea9c175..9cc21aa6267 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -1178,6 +1178,13 @@ re_attach(dev) if (error) goto fail; + ifp = sc->rl_ifp = if_alloc(IFT_ETHER); + if (ifp == NULL) { + printf("re%d: can not if_alloc()\n", sc->rl_unit); + error = ENOSPC; + goto fail; + } + /* Do MII setup */ if (mii_phy_probe(dev, &sc->rl_miibus, re_ifmedia_upd, re_ifmedia_sts)) { @@ -1186,12 +1193,6 @@ re_attach(dev) goto fail; } - ifp = sc->rl_ifp = if_alloc(IFT_ETHER); - if (ifp == NULL) { - printf("re%d: can not if_alloc()\n", sc->rl_unit); - error = ENOSPC; - goto fail; - } ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ifp->if_mtu = ETHERMTU; diff --git a/sys/dev/sf/if_sf.c b/sys/dev/sf/if_sf.c index 85d68193e8f..a64379fe2c8 100644 --- a/sys/dev/sf/if_sf.c +++ b/sys/dev/sf/if_sf.c @@ -702,6 +702,13 @@ sf_attach(dev) bzero(sc->sf_ldata, sizeof(struct sf_list_data)); + ifp = sc->sf_ifp = if_alloc(IFT_ETHER); + if (ifp == NULL) { + printf("sf%d: can not if_alloc()\n", sc->sf_unit); + error = ENOSPC; + goto fail; + } + /* Do MII setup. */ if (mii_phy_probe(dev, &sc->sf_miibus, sf_ifmedia_upd, sf_ifmedia_sts)) { @@ -710,12 +717,6 @@ sf_attach(dev) goto fail; } - ifp = sc->sf_ifp = if_alloc(IFT_ETHER); - if (ifp == NULL) { - printf("sf%d: can not if_alloc()\n", sc->sf_unit); - error = ENOSPC; - goto fail; - } ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ifp->if_mtu = ETHERMTU; diff --git a/sys/dev/vge/if_vge.c b/sys/dev/vge/if_vge.c index 4d5bda9484d..9bf98dbdff1 100644 --- a/sys/dev/vge/if_vge.c +++ b/sys/dev/vge/if_vge.c @@ -1025,6 +1025,13 @@ vge_attach(dev) if (error) goto fail; + ifp = sc->vge_ifp = if_alloc(IFT_ETHER); + if (ifp == NULL) { + printf("vge%d: can not if_alloc()\n", sc->vge_unit); + error = ENOSPC; + goto fail; + } + /* Do MII setup */ if (mii_phy_probe(dev, &sc->vge_miibus, vge_ifmedia_upd, vge_ifmedia_sts)) { @@ -1033,12 +1040,6 @@ vge_attach(dev) goto fail; } - ifp = sc->vge_ifp = if_alloc(IFT_ETHER); - if (ifp == NULL) { - printf("vge%d: can not if_alloc()\n", sc->vge_unit); - error = ENOSPC; - goto fail; - } ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ifp->if_mtu = ETHERMTU; diff --git a/sys/pci/if_rl.c b/sys/pci/if_rl.c index 63a661c3295..bc01dbc9ea8 100644 --- a/sys/pci/if_rl.c +++ b/sys/pci/if_rl.c @@ -938,6 +938,13 @@ rl_attach(device_t dev) sc->rl_cdata.rl_rx_buf_ptr = sc->rl_cdata.rl_rx_buf; sc->rl_cdata.rl_rx_buf += sizeof(uint64_t); + ifp = sc->rl_ifp = if_alloc(IFT_ETHER); + if (ifp == NULL) { + device_printf(dev, "can not if_alloc()\n"); + error = ENOSPC; + goto fail; + } + /* Do MII setup */ if (mii_phy_probe(dev, &sc->rl_miibus, rl_ifmedia_upd, rl_ifmedia_sts)) { @@ -946,12 +953,6 @@ rl_attach(device_t dev) goto fail; } - ifp = sc->rl_ifp = if_alloc(IFT_ETHER); - if (ifp == NULL) { - device_printf(dev, "can not if_alloc()\n"); - error = ENOSPC; - goto fail; - } ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ifp->if_mtu = ETHERMTU; diff --git a/sys/pci/if_sf.c b/sys/pci/if_sf.c index 85d68193e8f..a64379fe2c8 100644 --- a/sys/pci/if_sf.c +++ b/sys/pci/if_sf.c @@ -702,6 +702,13 @@ sf_attach(dev) bzero(sc->sf_ldata, sizeof(struct sf_list_data)); + ifp = sc->sf_ifp = if_alloc(IFT_ETHER); + if (ifp == NULL) { + printf("sf%d: can not if_alloc()\n", sc->sf_unit); + error = ENOSPC; + goto fail; + } + /* Do MII setup. */ if (mii_phy_probe(dev, &sc->sf_miibus, sf_ifmedia_upd, sf_ifmedia_sts)) { @@ -710,12 +717,6 @@ sf_attach(dev) goto fail; } - ifp = sc->sf_ifp = if_alloc(IFT_ETHER); - if (ifp == NULL) { - printf("sf%d: can not if_alloc()\n", sc->sf_unit); - error = ENOSPC; - goto fail; - } ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ifp->if_mtu = ETHERMTU; diff --git a/sys/pci/if_ste.c b/sys/pci/if_ste.c index 7088ba6c8f2..1ff6b971223 100644 --- a/sys/pci/if_ste.c +++ b/sys/pci/if_ste.c @@ -1060,6 +1060,13 @@ ste_attach(dev) bzero(sc->ste_ldata, sizeof(struct ste_list_data)); + ifp = sc->ste_ifp = if_alloc(IFT_ETHER); + if (ifp == NULL) { + printf("ste%d: can not if_alloc()\n", sc->ste_unit); + error = ENOSPC; + goto fail; + } + /* Do MII setup. */ if (mii_phy_probe(dev, &sc->ste_miibus, ste_ifmedia_upd, ste_ifmedia_sts)) { @@ -1068,12 +1075,6 @@ ste_attach(dev) goto fail; } - ifp = sc->ste_ifp = if_alloc(IFT_ETHER); - if (ifp == NULL) { - printf("ste%d: can not if_alloc()\n", sc->ste_unit); - error = ENOSPC; - goto fail; - } ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ifp->if_mtu = ETHERMTU;