summaryrefslogtreecommitdiff
path: root/sys/dev/mii/glxtphy.c
diff options
context:
space:
mode:
authormsaitoh <msaitoh@NetBSD.org>2014-06-16 16:48:16 +0000
committermsaitoh <msaitoh@NetBSD.org>2014-06-16 16:48:16 +0000
commita7fbee7bb47f2af94d3c652e1b2cf1d8df2a8a8e (patch)
treedb3988c3c2c4f4f44cad36db138948d028e65fb5 /sys/dev/mii/glxtphy.c
parenta9d0691a48d599ae8413256b03c9d7cdde8f9a9b (diff)
IFM_FDX and IFM_HDX use different bit, so set IFM_HDX bit if it's not full
duplex. For many drivers, it recognize half duplex if IFM_FDX isn't set, but not for others. Same as {Free|Open}BSD.
Diffstat (limited to 'sys/dev/mii/glxtphy.c')
-rw-r--r--sys/dev/mii/glxtphy.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/mii/glxtphy.c b/sys/dev/mii/glxtphy.c
index f80bad263d5..7811293576f 100644
--- a/sys/dev/mii/glxtphy.c
+++ b/sys/dev/mii/glxtphy.c
@@ -1,4 +1,4 @@
-/* $NetBSD: glxtphy.c,v 1.23 2009/10/19 18:41:13 bouyer Exp $ */
+/* $NetBSD: glxtphy.c,v 1.24 2014/06/16 16:48:16 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -59,7 +59,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: glxtphy.c,v 1.23 2009/10/19 18:41:13 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: glxtphy.c,v 1.24 2014/06/16 16:48:16 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -265,6 +265,8 @@ glxtphy_status(struct mii_softc *sc)
if (qsr & QSR_DUPLEX)
mii->mii_media_active |=
IFM_FDX | mii_phy_flowstatus(sc);
+ else
+ mii->mii_media_active |= IFM_HDX;
} else
mii->mii_media_active = ife->ifm_media;
}