ar8216: flush ARL table during reset after init_globals
authorGünther Kelleter <guenther.kelleter@devolo.de>
Wed, 15 Feb 2017 09:36:49 +0000 (10:36 +0100)
committerStijn Tintel <stijn@linux-ipv6.be>
Wed, 22 Feb 2017 10:57:27 +0000 (11:57 +0100)
commit 33b72b8e0faf7a39faabece584fd6da61cd8f8df
"ar8216: adjust ATU flushing in case of link changes"
introduced portwise flushing on link down events. Now the ARL table could
be in a chaotic state after boot where ar8xxx_sw_get_arl_table looped
forever (depending on the entries collected while booting).

Fixes FS#384.

Signed-off-by: Günther Kelleter <guenther.kelleter@devolo.de>
(cherry picked from commit 237454991618e0e8b7ceb8a8a2a43fca12c1a454)
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
target/linux/generic/files/drivers/net/phy/ar8216.c

index 27b062bc478bc1429ede386cb7ecb2b8a037bb03..01dc065be1fb4d7417cb96451175f972d310ae2f 100644 (file)
@@ -1194,6 +1194,7 @@ ar8xxx_sw_reset_switch(struct switch_dev *dev)
        priv->arl_age_time = AR8XXX_DEFAULT_ARL_AGE_TIME;
 
        chip->init_globals(priv);
+       chip->atu_flush(priv);
 
        mutex_unlock(&priv->reg_mutex);