summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>1999-04-12 21:13:12 +0000
committerwpaul <wpaul@FreeBSD.org>1999-04-12 21:13:12 +0000
commitff64f7f1598d4d246861b0c1ec0dce0e601f06d5 (patch)
tree6d6064fac6b07cb6d379443339a74550fe4dec22
parentc058886bf1e5fc34d63a74a9004f1fbf1886f98d (diff)
downloadFreeBSD-src-ff64f7f1598d4d246861b0c1ec0dce0e601f06d5.zip
FreeBSD-src-ff64f7f1598d4d246861b0c1ec0dce0e601f06d5.tar.gz
Grr... don't touch the PN_GEN (general purpose) register in pn_setcfg()
unless this is a NIC without an MII-based PHY (i.e. an older LinkSys LNE100TX).
-rw-r--r--sys/pci/if_pn.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/sys/pci/if_pn.c b/sys/pci/if_pn.c
index da8b11b..7b8cc84 100644
--- a/sys/pci/if_pn.c
+++ b/sys/pci/if_pn.c
@@ -29,7 +29,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: if_pn.c,v 1.47 1999/04/12 02:44:28 wpaul Exp $
+ * $Id: if_pn.c,v 1.48 1999/04/12 21:08:27 wpaul Exp $
*/
/*
@@ -97,7 +97,7 @@
#ifndef lint
static const char rcsid[] =
- "$Id: if_pn.c,v 1.47 1999/04/12 02:44:28 wpaul Exp $";
+ "$Id: if_pn.c,v 1.48 1999/04/12 21:08:27 wpaul Exp $";
#endif
/*
@@ -874,12 +874,14 @@ static void pn_setcfg(sc, media)
if (IFM_SUBTYPE(media) == IFM_100_TX) {
PN_CLRBIT(sc, PN_NETCFG, PN_NETCFG_SPEEDSEL);
- CSR_WRITE_4(sc, PN_GEN, PN_GEN_MUSTBEONE|
- PN_GEN_SPEEDSEL|PN_GEN_100TX_LOOP);
+ if (sc->pn_pinfo == NULL)
+ CSR_WRITE_4(sc, PN_GEN, PN_GEN_MUSTBEONE|
+ PN_GEN_SPEEDSEL|PN_GEN_100TX_LOOP);
} else {
PN_SETBIT(sc, PN_NETCFG, PN_NETCFG_SPEEDSEL);
- CSR_WRITE_4(sc, PN_GEN,
- PN_GEN_MUSTBEONE|PN_GEN_100TX_LOOP);
+ if (sc->pn_pinfo == NULL)
+ CSR_WRITE_4(sc, PN_GEN,
+ PN_GEN_MUSTBEONE|PN_GEN_100TX_LOOP);
}
if ((media & IFM_GMASK) == IFM_FDX)
OpenPOWER on IntegriCloud