summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-05-04 11:08:49 +0000
committerphk <phk@FreeBSD.org>2002-05-04 11:08:49 +0000
commit18774e5c4c4ce302dc5ad9052721993a56ca213e (patch)
tree3f2e228be8447388c1fd04cde76c174bb1944cf7
parent2bdcfd0c1cef53f79a0f3a9c89de2b9353a04cd1 (diff)
downloadFreeBSD-src-18774e5c4c4ce302dc5ad9052721993a56ca213e.zip
FreeBSD-src-18774e5c4c4ce302dc5ad9052721993a56ca213e.tar.gz
Increase gigE negotiation timeout to 17 seconds.
10 seconds is not enough to negotiate a gigE link with a cisco switch which holds carrier off for several seconds between tries.
-rw-r--r--sys/dev/mii/mii_physubr.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/dev/mii/mii_physubr.c b/sys/dev/mii/mii_physubr.c
index a1c0228..6a6c025 100644
--- a/sys/dev/mii/mii_physubr.c
+++ b/sys/dev/mii/mii_physubr.c
@@ -231,7 +231,7 @@ mii_phy_tick(struct mii_softc *sc)
* Only retry autonegotiation every N seconds.
*/
if (sc->mii_anegticks == 0)
- sc->mii_anegticks = 5;
+ sc->mii_anegticks = 17;
if (++sc->mii_ticks != sc->mii_anegticks)
return (EJUSTRETURN);
@@ -469,14 +469,14 @@ mii_phy_add_media(struct mii_softc *sc)
* all the gigabit media types.
*/
if (sc->mii_extcapabilities & EXTSR_1000XHDX) {
- sc->mii_anegticks = 10;
+ sc->mii_anegticks = 17;
sc->mii_flags |= MIIF_IS_1000X;
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_SX, 0,
sc->mii_inst), MII_MEDIA_1000_X);
PRINT("1000baseSX");
}
if (sc->mii_extcapabilities & EXTSR_1000XFDX) {
- sc->mii_anegticks = 10;
+ sc->mii_anegticks = 17;
sc->mii_flags |= MIIF_IS_1000X;
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_SX, IFM_FDX,
sc->mii_inst), MII_MEDIA_1000_X_FDX);
@@ -492,7 +492,7 @@ mii_phy_add_media(struct mii_softc *sc)
* All 1000baseT PHYs have a 1000baseT control register.
*/
if (sc->mii_extcapabilities & EXTSR_1000THDX) {
- sc->mii_anegticks = 10;
+ sc->mii_anegticks = 17;
sc->mii_flags |= MIIF_HAVE_GTCR;
mii->mii_media.ifm_mask |= IFM_ETH_MASTER;
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_T, 0,
@@ -500,7 +500,7 @@ mii_phy_add_media(struct mii_softc *sc)
PRINT("1000baseT");
}
if (sc->mii_extcapabilities & EXTSR_1000TFDX) {
- sc->mii_anegticks = 10;
+ sc->mii_anegticks = 17;
sc->mii_flags |= MIIF_HAVE_GTCR;
mii->mii_media.ifm_mask |= IFM_ETH_MASTER;
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_T, IFM_FDX,
OpenPOWER on IntegriCloud