summaryrefslogtreecommitdiffstats
path: root/sys/dev/hme
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2005-05-23 05:45:36 +0000
committeryongari <yongari@FreeBSD.org>2005-05-23 05:45:36 +0000
commit8e7b8f0de7bb03153ad6c2aac12c2db813990c0b (patch)
tree8360d5e4c0244ec737e01a48e239c429a4ff86ba /sys/dev/hme
parentc14acaa6c1aa74ae04838d29e1508e39563289dc (diff)
downloadFreeBSD-src-8e7b8f0de7bb03153ad6c2aac12c2db813990c0b.zip
FreeBSD-src-8e7b8f0de7bb03153ad6c2aac12c2db813990c0b.tar.gz
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
Diffstat (limited to 'sys/dev/hme')
-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 e8be309..c5c66d5 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));
}
OpenPOWER on IntegriCloud