summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbrad <brad@openbsd.org>2012-10-22 11:01:59 +0000
committerbrad <brad@openbsd.org>2012-10-22 11:01:59 +0000
commit1ec78b9a95bf695dbb15bad910cf6198e3fb031c (patch)
treed8a134c21391ee3ded2f8dfa38830edb7fec7cd3
parentFix NAT-T support in iked, both on the initiator and the responder (diff)
downloadwireguard-openbsd-1ec78b9a95bf695dbb15bad910cf6198e3fb031c.tar.xz
wireguard-openbsd-1ec78b9a95bf695dbb15bad910cf6198e3fb031c.zip
- Provide flow control status
- Use ANAR_PAUSE_TOWARDS define - Only advertise flow control if the MAC sets MIIF_DOPAUSE ok jsg@
-rw-r--r--sys/dev/mii/jmphy.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/dev/mii/jmphy.c b/sys/dev/mii/jmphy.c
index 5fa4d109fd9..25048721762 100644
--- a/sys/dev/mii/jmphy.c
+++ b/sys/dev/mii/jmphy.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: jmphy.c,v 1.2 2008/10/20 00:05:38 brad Exp $ */
+/* $OpenBSD: jmphy.c,v 1.3 2012/10/22 11:01:59 brad Exp $ */
/*-
* Copyright (c) 2008, Pyun YongHyeon <yongari@FreeBSD.org>
* All rights reserved.
@@ -254,12 +254,10 @@ jmphy_status(struct mii_softc *sc)
}
if ((ssr & JMPHY_SSR_DUPLEX) != 0)
- mii->mii_media_active |= IFM_FDX;
+ mii->mii_media_active |= IFM_FDX | mii_phy_flowstatus(sc);
else
mii->mii_media_active |= IFM_HDX;
- /* XXX Flow-control. */
-
if (IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_T) {
if ((PHY_READ(sc, MII_100T2SR) & GTSR_MS_RES) != 0)
mii->mii_media_active |= IFM_ETH_MASTER;
@@ -336,8 +334,8 @@ jmphy_auto(struct mii_softc *sc, struct ifmedia_entry *ife)
bmcr |= BMCR_LOOP;
anar = jmphy_anar(ife);
- /* XXX Always advertise pause capability. */
- anar |= (3 << 10);
+ if (sc->mii_flags & MIIF_DOPAUSE)
+ anar |= ANAR_PAUSE_TOWARDS;
if ((sc->mii_flags & MIIF_HAVE_GTCR) != 0) {
#ifdef notyet