svn commit: r328618 - head/sys/dev/etherswitch/arswitch
Adrian Chadd
adrian at FreeBSD.org
Wed Jan 31 07:36:52 UTC 2018
Author: adrian
Date: Wed Jan 31 07:36:51 2018
New Revision: 328618
URL: https://svnweb.freebsd.org/changeset/base/328618
Log:
[arswitch] Fix ATU flushing on AR8216/AR8316 and most of the later chips.
The switch hardware requires this bit to be set in order to kick start the
actual ATU update. This was being masked on some chips by the learning
programming (what to do when a MAC address moves, hash table collision, etc)
which is currently inconsistent between chips.
Tested:
* AR9344 SoC (AR7240 style switch internal)
Modified:
head/sys/dev/etherswitch/arswitch/arswitch.c
Modified: head/sys/dev/etherswitch/arswitch/arswitch.c
==============================================================================
--- head/sys/dev/etherswitch/arswitch/arswitch.c Wed Jan 31 07:20:34 2018 (r328617)
+++ head/sys/dev/etherswitch/arswitch/arswitch.c Wed Jan 31 07:36:51 2018 (r328618)
@@ -305,7 +305,7 @@ ar8xxx_atu_flush(struct arswitch_softc *sc)
if (!ret)
arswitch_writereg(sc->sc_dev,
AR8216_REG_ATU,
- AR8216_ATU_OP_FLUSH);
+ AR8216_ATU_OP_FLUSH | AR8216_ATU_ACTIVE);
return (ret);
}
More information about the svn-src-all
mailing list