diff options
author | Jason Wright <jason@cvs.openbsd.org> | 1998-11-20 02:42:16 +0000 |
---|---|---|
committer | Jason Wright <jason@cvs.openbsd.org> | 1998-11-20 02:42:16 +0000 |
commit | 835f74e5c5c864bd70d45d2589ed2877625dbd6d (patch) | |
tree | 925118d2874fe159930c143fe71d3ef0360d6e59 /sys | |
parent | 944e8edd97527165d4fd799a001eeab761673e4d (diff) |
MII fixups, should be able to reliably switch modes manually now
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/mii/rlphy.c | 9 | ||||
-rw-r--r-- | sys/dev/pci/if_rl.c | 7 |
2 files changed, 12 insertions, 4 deletions
diff --git a/sys/dev/mii/rlphy.c b/sys/dev/mii/rlphy.c index 061ece97d6f..e5e6ae40658 100644 --- a/sys/dev/mii/rlphy.c +++ b/sys/dev/mii/rlphy.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rlphy.c,v 1.1 1998/11/18 20:11:31 jason Exp $ */ +/* $OpenBSD: rlphy.c,v 1.2 1998/11/20 02:42:14 jason Exp $ */ /* * Copyright (c) 1998 Jason L. Wright (jason@thought.net) @@ -207,11 +207,14 @@ void rlphy_reset(sc) struct mii_softc *sc; { - mii_phy_reset(sc); + int bmcr; /* * XXX The RTL8139 doesn't set the BMCR properly * XXX after reset, which breaks autoneg. */ - PHY_WRITE(sc, MII_BMCR, BMCR_S100 | BMCR_AUTOEN | BMCR_FDX); + + bmcr = PHY_READ(sc, MII_BMCR); + mii_phy_reset(sc); + PHY_WRITE(sc, MII_BMCR, bmcr); } diff --git a/sys/dev/pci/if_rl.c b/sys/dev/pci/if_rl.c index 942f1f82f9b..c28c16fe3a4 100644 --- a/sys/dev/pci/if_rl.c +++ b/sys/dev/pci/if_rl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_rl.c,v 1.6 1998/11/19 07:01:55 jason Exp $ */ +/* $OpenBSD: if_rl.c,v 1.7 1998/11/20 02:42:15 jason Exp $ */ /* * Copyright (c) 1997, 1998 @@ -1134,6 +1134,11 @@ static void rl_init(xsc) CSR_WRITE_1(sc, RL_CFG1, RL_CFG1_DRVLOAD|RL_CFG1_FULLDUPLEX); + /* + * Set current media. + */ + mii_mediachg(&sc->sc_mii); + ifp->if_flags |= IFF_RUNNING; ifp->if_flags &= ~IFF_OACTIVE; |