Move if_alloc() up so it's before mii_phy_probe().

This commit is contained in:
Brooks Davis 2005-06-11 01:37:46 +00:00
parent 9aa0eba464
commit cd036ec193
7 changed files with 53 additions and 45 deletions

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;