diff options
Diffstat (limited to 'sys/dev/mii/axphy.c')
-rw-r--r-- | sys/dev/mii/axphy.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/sys/dev/mii/axphy.c b/sys/dev/mii/axphy.c index 931f2eb..d776d35 100644 --- a/sys/dev/mii/axphy.c +++ b/sys/dev/mii/axphy.c @@ -99,12 +99,12 @@ axphy_attach(device_t dev) mii = ma->mii_data; LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list); - sc->mii_inst = mii->mii_instance; + sc->mii_inst = mii->mii_instance++; sc->mii_phy = ma->mii_phyno; sc->mii_service = axphy_service; sc->mii_pdata = mii; + sc->mii_flags |= MIIF_NOISOLATE; - mii->mii_instance++; mii_phy_reset(sc); @@ -122,22 +122,12 @@ axphy_attach(device_t dev) static int axphy_service(struct mii_softc *sc, struct mii_data *mii, int cmd) { - struct ifmedia_entry *ife = mii->mii_media.ifm_cur; - int reg; switch (cmd) { case MII_POLLSTAT: - if (IFM_INST(ife->ifm_media) != sc->mii_inst) - return (0); break; case MII_MEDIACHG: - if (IFM_INST(ife->ifm_media) != sc->mii_inst) { - reg = PHY_READ(sc, MII_BMCR); - PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO); - return (0); - } - /* * If the interface is not up, don't do anything. */ @@ -148,8 +138,6 @@ axphy_service(struct mii_softc *sc, struct mii_data *mii, int cmd) break; case MII_TICK: - if (IFM_INST(ife->ifm_media) != sc->mii_inst) - return (0); if (mii_phy_tick(sc) == EJUSTRETURN) return (0); break; |