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;
}