From f7c6b0a8c6e1123f65ca241e1def7b90f019ec8e Mon Sep 17 00:00:00 2001 From: Jung-uk Kim Date: Tue, 19 Dec 2006 22:50:49 +0000 Subject: [PATCH] Clear full-duplex when half-duplex flag is set. This actually makes 'mediaopt half-duplex' working as it should. It is now equivalent of '-mediaopt full-duplex'. --- sbin/ifconfig/ifmedia.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sbin/ifconfig/ifmedia.c b/sbin/ifconfig/ifmedia.c index 398f1b757fa5..c76889559dab 100644 --- a/sbin/ifconfig/ifmedia.c +++ b/sbin/ifconfig/ifmedia.c @@ -303,9 +303,13 @@ domediaopt(const char *val, int clear, int s) ifr.ifr_media = ifmr->ifm_current; if (clear) ifr.ifr_media &= ~options; - else + else { + if (options & IFM_HDX) { + ifr.ifr_media &= ~IFM_FDX; + options &= ~IFM_HDX; + } ifr.ifr_media |= options; - + } ifmr->ifm_current = ifr.ifr_media; callback_register(setifmediacallback, (void *)ifmr); }