]> git.baikalelectronics.ru Git - kernel.git/commit
mt7530 fix mt7530_fdb_write vid missing ivl bit
authorEric Woudstra <ericwouds@gmail.com>
Fri, 16 Jul 2021 15:36:39 +0000 (17:36 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 16 Jul 2021 20:24:33 +0000 (13:24 -0700)
commit3bef2135d63a2c1091bb923b07f69e3b57ef57fa
treeb61f6758176ac7ff44608b0cfbe9813b400974f4
parent3a542228a35aa59b08703c3de5af1c9f07ae7f84
mt7530 fix mt7530_fdb_write vid missing ivl bit

According to reference guides mt7530 (mt7620) and mt7531:

NOTE: When IVL is reset, MAC[47:0] and FID[2:0] will be used to
read/write the address table. When IVL is set, MAC[47:0] and CVID[11:0]
will be used to read/write the address table.

Since the function only fills in CVID and no FID, we need to set the
IVL bit. The existing code does not set it.

This is a fix for the issue I dropped here earlier:

http://lists.infradead.org/pipermail/linux-mediatek/2021-June/025697.html

With this patch, it is now possible to delete the 'self' fdb entry
manually. However, wifi roaming still has the same issue, the entry
does not get deleted automatically. Wifi roaming also needs a fix
somewhere else to function correctly in combination with vlan.

Signed-off-by: Eric Woudstra <ericwouds@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mt7530.c
drivers/net/dsa/mt7530.h