Module Name: src Committed By: msaitoh Date: Wed Nov 4 09:15:10 UTC 2020
Modified Files: src/sys/dev/mii: igphy.c ihphy.c makphy.c Log Message: Fix a bug that "ifconfig xx0 media none" set LINK_STATE_UNKNOWN instead of LINK_STATE_DOWN. XXX We should check for other PHY drivers, too. To generate a diff of this commit: cvs rdiff -u -r1.36 -r1.37 src/sys/dev/mii/igphy.c cvs rdiff -u -r1.18 -r1.19 src/sys/dev/mii/ihphy.c cvs rdiff -u -r1.67 -r1.68 src/sys/dev/mii/makphy.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/igphy.c diff -u src/sys/dev/mii/igphy.c:1.36 src/sys/dev/mii/igphy.c:1.37 --- src/sys/dev/mii/igphy.c:1.36 Mon Aug 3 07:25:59 2020 +++ src/sys/dev/mii/igphy.c Wed Nov 4 09:15:10 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: igphy.c,v 1.36 2020/08/03 07:25:59 msaitoh Exp $ */ +/* $NetBSD: igphy.c,v 1.37 2020/11/04 09:15:10 msaitoh Exp $ */ /* * The Intel copyright applies to the analog register setup, and the @@ -70,7 +70,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: igphy.c,v 1.36 2020/08/03 07:25:59 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: igphy.c,v 1.37 2020/11/04 09:15:10 msaitoh Exp $"); #ifdef _KERNEL_OPT #include "opt_mii.h" @@ -437,7 +437,6 @@ igphy_status(struct mii_softc *sc) PHY_READ(sc, MII_BMCR, &bmcr); if (bmcr & BMCR_ISO) { mii->mii_media_active |= IFM_NONE; - mii->mii_media_status = 0; return; } Index: src/sys/dev/mii/ihphy.c diff -u src/sys/dev/mii/ihphy.c:1.18 src/sys/dev/mii/ihphy.c:1.19 --- src/sys/dev/mii/ihphy.c:1.18 Sat Mar 28 18:37:18 2020 +++ src/sys/dev/mii/ihphy.c Wed Nov 4 09:15:10 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: ihphy.c,v 1.18 2020/03/28 18:37:18 thorpej Exp $ */ +/* $NetBSD: ihphy.c,v 1.19 2020/11/04 09:15:10 msaitoh Exp $ */ /*- * Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc. @@ -60,7 +60,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ihphy.c,v 1.18 2020/03/28 18:37:18 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ihphy.c,v 1.19 2020/11/04 09:15:10 msaitoh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -242,7 +242,6 @@ ihphy_status(struct mii_softc *sc) PHY_READ(sc, MII_BMCR, &bmcr); if (bmcr & (BMCR_ISO | BMCR_PDOWN)) { mii->mii_media_active |= IFM_NONE; - mii->mii_media_status = 0; return; } Index: src/sys/dev/mii/makphy.c diff -u src/sys/dev/mii/makphy.c:1.67 src/sys/dev/mii/makphy.c:1.68 --- src/sys/dev/mii/makphy.c:1.67 Tue Oct 20 08:53:34 2020 +++ src/sys/dev/mii/makphy.c Wed Nov 4 09:15:10 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: makphy.c,v 1.67 2020/10/20 08:53:34 msaitoh Exp $ */ +/* $NetBSD: makphy.c,v 1.68 2020/11/04 09:15:10 msaitoh Exp $ */ /*- * Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc. @@ -59,7 +59,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: makphy.c,v 1.67 2020/10/20 08:53:34 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: makphy.c,v 1.68 2020/11/04 09:15:10 msaitoh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -436,9 +436,8 @@ makphy_status(struct mii_softc *sc) if (bmcr & BMCR_LOOP) mii->mii_media_active |= IFM_LOOP; - if (bmcr & BMCR_ISO) { + if (bmcr & (BMCR_ISO | BMCR_PDOWN)) { mii->mii_media_active |= IFM_NONE; - mii->mii_media_status = 0; return; }