summaryrefslogtreecommitdiffstats
path: root/sys/dev/mii/exphy.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/mii/exphy.c')
-rw-r--r--sys/dev/mii/exphy.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/sys/dev/mii/exphy.c b/sys/dev/mii/exphy.c
index 9284c7a..ddf7d82 100644
--- a/sys/dev/mii/exphy.c
+++ b/sys/dev/mii/exphy.c
@@ -89,7 +89,7 @@
#if !defined(lint)
static const char rcsid[] =
- "$FreeBSD$";
+ "$Id: exphy.c,v 1.1 1999/08/21 17:40:41 wpaul Exp $";
#endif
static int exphy_probe __P((device_t));
@@ -130,8 +130,10 @@ static int exphy_probe(dev)
/*
* Argh, 3Com PHY reports oui == 0 model == 0!
*/
- if (MII_OUI(ma->mii_id1, ma->mii_id2) != 0 ||
- MII_MODEL(ma->mii_id2) != 0)
+ if ((MII_OUI(ma->mii_id1, ma->mii_id2) != 0 ||
+ MII_MODEL(ma->mii_id2) != 0) &&
+ (MII_OUI(ma->mii_id1, ma->mii_id2) != MII_OUI_BROADCOM ||
+ MII_MODEL(ma->mii_id2) != MII_MODEL_BROADCOM_3c905Cphy))
return (ENXIO);
/*
@@ -140,7 +142,10 @@ static int exphy_probe(dev)
if (strcmp(device_get_name(parent), "xl") != 0)
return (ENXIO);
- device_set_desc(dev, "3Com internal media interface");
+ if (MII_OUI(ma->mii_id1, ma->mii_id2) == 0)
+ device_set_desc(dev, "3Com internal media interface");
+ else
+ device_set_desc(dev, MII_STR_BROADCOM_3c905Cphy);
return (0);
}
OpenPOWER on IntegriCloud