summaryrefslogtreecommitdiffstats
path: root/sys/dev/mii/axphy.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/mii/axphy.c')
-rw-r--r--sys/dev/mii/axphy.c16
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;
OpenPOWER on IntegriCloud