aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorPyun YongHyeon <yongari@FreeBSD.org>2005-05-23 05:45:36 +0000
committerPyun YongHyeon <yongari@FreeBSD.org>2005-05-23 05:45:36 +0000
commit264166b8bbeac1a86f81aaf744532a706f2da788 (patch)
tree8360d5e4c0244ec737e01a48e239c429a4ff86ba /sys/dev
parent24aade12eb925c6bc0fd36563cce64982a61306b (diff)
downloadsrc-264166b8bbeac1a86f81aaf744532a706f2da788.tar.gz
src-264166b8bbeac1a86f81aaf744532a706f2da788.zip
According to STP2002QFP User's Guide, it seems that driver should
program RXMAC to discard frames with SA field matching the stations's MAC address. Experimentation shows that HME receives its own frames when it operates at 10Mbps half-duplex. With this change HME runs at 10Mbps half-duplx should work with IPv6. (No more "DAD detected duplicate IPv6 address".) Reported by: jacques brierre <jbrierre AT bellsouth DOT net> Reviewed by: marius
Notes
Notes: svn path=/head/; revision=146513
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/hme/if_hme.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/hme/if_hme.c b/sys/dev/hme/if_hme.c
index e8be3097d06d..c5c66d5c1e92 100644
--- a/sys/dev/hme/if_hme.c
+++ b/sys/dev/hme/if_hme.c
@@ -1645,6 +1645,8 @@ hme_setladrf(struct hme_softc *sc, int reenable)
HME_MAC_RXCFG_HENABLE, 0))
return;
+ /* make RXMAC really SIMPLEX */
+ macc |= HME_MAC_RXCFG_ME;
if (reenable)
macc |= HME_MAC_RXCFG_ENABLE;
else
@@ -1692,5 +1694,6 @@ chipit:
HME_MAC_WRITE_4(sc, HME_MACI_HASHTAB2, hash[2]);
HME_MAC_WRITE_4(sc, HME_MACI_HASHTAB3, hash[3]);
hme_mac_bitflip(sc, HME_MACI_RXCFG, macc, 0,
- macc & (HME_MAC_RXCFG_ENABLE | HME_MAC_RXCFG_HENABLE));
+ macc & (HME_MAC_RXCFG_ENABLE | HME_MAC_RXCFG_HENABLE |
+ HME_MAC_RXCFG_ME));
}