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);
 }
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to