summaryrefslogtreecommitdiffstats
path: root/sys/dev/mii/mii.c
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>1999-08-29 15:42:04 +0000
committerwpaul <wpaul@FreeBSD.org>1999-08-29 15:42:04 +0000
commitc880bbe674ca198bf53958c6ebe7d79cfc36b1f7 (patch)
treed46d4d7bdda0eea175090600568da2c323261d92 /sys/dev/mii/mii.c
parente343cf19611a68f1f961aaa5030fbc86e632d250 (diff)
downloadFreeBSD-src-c880bbe674ca198bf53958c6ebe7d79cfc36b1f7.zip
FreeBSD-src-c880bbe674ca198bf53958c6ebe7d79cfc36b1f7.tar.gz
The ASIC on the 3c905C appears to be manufactured by Broadcom (previous
ones were made by Lucent). The Broadcom chip also appears to use an internal PHY made by Broadcom which uses the Broadcom OUI. This is different from previous ASICs which always returned 0 in the PHY ID registers. To account for this, I added the necessary ID values for the Broadcom PHY so that it can be detected and attached using the 3Com PHY driver instead of defaulting to the generic one.
Diffstat (limited to 'sys/dev/mii/mii.c')
-rw-r--r--sys/dev/mii/mii.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/mii/mii.c b/sys/dev/mii/mii.c
index e64488f..b10e57a 100644
--- a/sys/dev/mii/mii.c
+++ b/sys/dev/mii/mii.c
@@ -60,7 +60,7 @@
#if !defined(lint)
static const char rcsid[] =
- "$FreeBSD$";
+ "$Id: mii.c,v 1.1 1999/08/21 17:40:41 wpaul Exp $";
#endif
static int miibus_readreg __P((device_t, int, int));
@@ -106,7 +106,7 @@ int miibus_probe(dev)
{
struct mii_attach_args ma, *args;
struct mii_data *mii;
- device_t child = 0, parent;
+ device_t child = NULL, parent;
int bmsr, capmask = 0xFFFFFFFF;
mii = device_get_softc(dev);
@@ -222,6 +222,9 @@ static void miibus_mediainit(dev)
struct ifmedia_entry *m;
int media = 0;
+ /* Poke the parent in case it has any media of its own to add. */
+ MIIBUS_MEDIAINIT(device_get_parent(dev));
+
mii = device_get_softc(dev);
for (m = LIST_FIRST(&mii->mii_media.ifm_list); m != NULL;
m = LIST_NEXT(m, ifm_list)) {
OpenPOWER on IntegriCloud