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 <n...@nabechan.org>.  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)

Reply via email to