summaryrefslogtreecommitdiffstats
path: root/sys/dev/mii/nsphy.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/mii/nsphy.c')
-rw-r--r--sys/dev/mii/nsphy.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/dev/mii/nsphy.c b/sys/dev/mii/nsphy.c
index 4c58a4e..6591979 100644
--- a/sys/dev/mii/nsphy.c
+++ b/sys/dev/mii/nsphy.c
@@ -129,12 +129,15 @@ static int nsphy_probe(dev)
ma = device_get_ivars(dev);
- if (MII_OUI(ma->mii_id1, ma->mii_id2) != MII_OUI_NATSEMI ||
- MII_MODEL(ma->mii_id2) != MII_MODEL_NATSEMI_DP83840)
+ if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_NATSEMI &&
+ MII_MODEL(ma->mii_id2) == MII_MODEL_NATSEMI_DP83840) {
+ device_set_desc(dev, MII_STR_NATSEMI_DP83840);
+ } else if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_QUALSEMI &&
+ MII_MODEL(ma->mii_id2) == MII_MODEL_QUALSEMI_QS6612) {
+ device_set_desc(dev, MII_STR_QUALSEMI_QS6612);
+ } else
return (ENXIO);
- device_set_desc(dev, MII_STR_NATSEMI_DP83840);
-
return (0);
}
@@ -426,5 +429,5 @@ nsphy_status(sc)
mii->mii_media_active |= IFM_FDX;
#endif
} else
- mii->mii_media_active = mii_media_from_bmcr(bmcr);
+ mii->mii_media_active |= mii_media_from_bmcr(bmcr);
}
OpenPOWER on IntegriCloud