diff options
author | Pyun YongHyeon <yongari@FreeBSD.org> | 2005-05-23 05:45:36 +0000 |
---|---|---|
committer | Pyun YongHyeon <yongari@FreeBSD.org> | 2005-05-23 05:45:36 +0000 |
commit | 264166b8bbeac1a86f81aaf744532a706f2da788 (patch) | |
tree | 8360d5e4c0244ec737e01a48e239c429a4ff86ba /sys/dev | |
parent | 24aade12eb925c6bc0fd36563cce64982a61306b (diff) | |
download | src-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.c | 5 |
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)); } |