Module Name: src
Committed By: msaitoh
Date: Thu Jun 6 03:10:48 UTC 2013
Modified Files:
src/sys/dev/mii: atphy.c brgphy.c ciphy.c mii_physubr.c rgephy.c
urlphy.c
Log Message:
Fix a bug that the auto negotiation timer isn't cleard as we expected.
To not to forget clearing the timer and to reduce the code duplication,
clear mii_ticks in *mii_phy_auto().
To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/dev/mii/atphy.c
cvs rdiff -u -r1.63 -r1.64 src/sys/dev/mii/brgphy.c
cvs rdiff -u -r1.19 -r1.20 src/sys/dev/mii/ciphy.c
cvs rdiff -u -r1.75 -r1.76 src/sys/dev/mii/mii_physubr.c
cvs rdiff -u -r1.29 -r1.30 src/sys/dev/mii/rgephy.c
cvs rdiff -u -r1.25 -r1.26 src/sys/dev/mii/urlphy.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/mii/atphy.c
diff -u src/sys/dev/mii/atphy.c:1.12 src/sys/dev/mii/atphy.c:1.13
--- src/sys/dev/mii/atphy.c:1.12 Mon Jul 23 00:09:49 2012
+++ src/sys/dev/mii/atphy.c Thu Jun 6 03:10:48 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: atphy.c,v 1.12 2012/07/23 00:09:49 matt Exp $ */
+/* $NetBSD: atphy.c,v 1.13 2013/06/06 03:10:48 msaitoh Exp $ */
/* $OpenBSD: atphy.c,v 1.1 2008/09/25 20:47:16 brad Exp $ */
/*-
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: atphy.c,v 1.12 2012/07/23 00:09:49 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: atphy.c,v 1.13 2013/06/06 03:10:48 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -289,7 +289,6 @@ done:
if (sc->mii_ticks <= sc->mii_anegticks)
break;
- sc->mii_ticks = 0;
atphy_mii_phy_auto(sc);
break;
}
@@ -405,6 +404,7 @@ atphy_mii_phy_auto(struct mii_softc *sc)
{
uint16_t anar;
+ sc->mii_ticks = 0;
anar = BMSR_MEDIA_TO_ANAR(sc->mii_capabilities) | ANAR_CSMA;
if (sc->mii_flags & MIIF_DOPAUSE)
anar |= ANAR_X_PAUSE_TOWARDS;
Index: src/sys/dev/mii/brgphy.c
diff -u src/sys/dev/mii/brgphy.c:1.63 src/sys/dev/mii/brgphy.c:1.64
--- src/sys/dev/mii/brgphy.c:1.63 Mon Apr 1 13:41:37 2013
+++ src/sys/dev/mii/brgphy.c Thu Jun 6 03:10:48 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: brgphy.c,v 1.63 2013/04/01 13:41:37 msaitoh Exp $ */
+/* $NetBSD: brgphy.c,v 1.64 2013/06/06 03:10:48 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -62,7 +62,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: brgphy.c,v 1.63 2013/04/01 13:41:37 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: brgphy.c,v 1.64 2013/06/06 03:10:48 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -581,6 +581,7 @@ brgphy_mii_phy_auto(struct mii_softc *sc
{
int anar, ktcr = 0;
+ sc->mii_ticks = 0;
brgphy_loop(sc);
PHY_RESET(sc);
Index: src/sys/dev/mii/ciphy.c
diff -u src/sys/dev/mii/ciphy.c:1.19 src/sys/dev/mii/ciphy.c:1.20
--- src/sys/dev/mii/ciphy.c:1.19 Tue May 12 14:31:27 2009
+++ src/sys/dev/mii/ciphy.c Thu Jun 6 03:10:48 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: ciphy.c,v 1.19 2009/05/12 14:31:27 cegger Exp $ */
+/* $NetBSD: ciphy.c,v 1.20 2013/06/06 03:10:48 msaitoh Exp $ */
/*-
* Copyright (c) 2004
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ciphy.c,v 1.19 2009/05/12 14:31:27 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ciphy.c,v 1.20 2013/06/06 03:10:48 msaitoh Exp $");
/*
* Driver for the Cicada CS8201 10/100/1000 copper PHY.
@@ -275,7 +275,6 @@ setit:
if (++sc->mii_ticks <= MII_ANEGTICKS)
break;
- sc->mii_ticks = 0;
mii_phy_auto(sc, 0);
return (0);
}
Index: src/sys/dev/mii/mii_physubr.c
diff -u src/sys/dev/mii/mii_physubr.c:1.75 src/sys/dev/mii/mii_physubr.c:1.76
--- src/sys/dev/mii/mii_physubr.c:1.75 Wed Oct 3 07:08:58 2012
+++ src/sys/dev/mii/mii_physubr.c Thu Jun 6 03:10:48 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: mii_physubr.c,v 1.75 2012/10/03 07:08:58 mlelstv Exp $ */
+/* $NetBSD: mii_physubr.c,v 1.76 2013/06/06 03:10:48 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mii_physubr.c,v 1.75 2012/10/03 07:08:58 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mii_physubr.c,v 1.76 2013/06/06 03:10:48 msaitoh Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -202,6 +202,7 @@ mii_phy_auto(struct mii_softc *sc, int w
struct mii_data *mii = sc->mii_pdata;
struct ifmedia_entry *ife = mii->mii_media.ifm_cur;
+ sc->mii_ticks = 0;
if ((sc->mii_flags & MIIF_DOINGAUTO) == 0) {
/*
* Check for 1000BASE-X. Autonegotiation is a bit
@@ -346,7 +347,6 @@ mii_phy_tick(struct mii_softc *sc)
if (++sc->mii_ticks <= sc->mii_anegticks)
return (EJUSTRETURN);
- sc->mii_ticks = 0;
PHY_RESET(sc);
if (mii_phy_auto(sc, 0) == EJUSTRETURN)
Index: src/sys/dev/mii/rgephy.c
diff -u src/sys/dev/mii/rgephy.c:1.29 src/sys/dev/mii/rgephy.c:1.30
--- src/sys/dev/mii/rgephy.c:1.29 Sun Jul 18 03:00:39 2010
+++ src/sys/dev/mii/rgephy.c Thu Jun 6 03:10:48 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: rgephy.c,v 1.29 2010/07/18 03:00:39 jakllsch Exp $ */
+/* $NetBSD: rgephy.c,v 1.30 2013/06/06 03:10:48 msaitoh Exp $ */
/*
* Copyright (c) 2003
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rgephy.c,v 1.29 2010/07/18 03:00:39 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rgephy.c,v 1.30 2013/06/06 03:10:48 msaitoh Exp $");
/*
@@ -319,7 +319,6 @@ rgephy_service(struct mii_softc *sc, str
if (sc->mii_ticks <= sc->mii_anegticks)
return 0;
- sc->mii_ticks = 0;
rgephy_mii_phy_auto(sc);
break;
}
@@ -428,6 +427,7 @@ rgephy_mii_phy_auto(struct mii_softc *mi
{
int anar;
+ mii->mii_ticks = 0;
rgephy_loop(mii);
rgephy_reset(mii);
Index: src/sys/dev/mii/urlphy.c
diff -u src/sys/dev/mii/urlphy.c:1.25 src/sys/dev/mii/urlphy.c:1.26
--- src/sys/dev/mii/urlphy.c:1.25 Sat Jan 31 05:44:05 2009
+++ src/sys/dev/mii/urlphy.c Thu Jun 6 03:10:48 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: urlphy.c,v 1.25 2009/01/31 05:44:05 hira Exp $ */
+/* $NetBSD: urlphy.c,v 1.26 2013/06/06 03:10:48 msaitoh Exp $ */
/*
* Copyright (c) 2001, 2002
* Shingo WATANABE <[email protected]>. All rights reserved.
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: urlphy.c,v 1.25 2009/01/31 05:44:05 hira Exp $");
+__KERNEL_RCSID(0, "$NetBSD: urlphy.c,v 1.26 2013/06/06 03:10:48 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -196,7 +196,6 @@ urlphy_service(struct mii_softc *sc, str
if (++sc->mii_ticks <= sc->mii_anegticks)
return (0);
- sc->mii_ticks = 0;
PHY_RESET(sc);
if (mii_phy_auto(sc, 0) == EJUSTRETURN)