• Florian Fainelli's avatar
    net: dsa: b53: Rework ARL bin logic · 34e95e9f
    Florian Fainelli authored
    [ Upstream commit 6344dbde ]
    
    When asking the ARL to read a MAC address, we will get a number of bins
    returned in a single read. Out of those bins, there can essentially be 3
    states:
    
    - all bins are full, we have no space left, and we can either replace an
      existing address or return that full condition
    
    - the MAC address was found, then we need to return its bin index and
      modify that one, and only that one
    
    - the MAC address was not found and we have a least one bin free, we use
      that bin index location then
    
    The code would unfortunately fail on all counts.
    
    Fixes: 1da6df85
    
     ("net: dsa: b53: Implement ARL add/del/dump operations")
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    34e95e9f
b53_regs.h 15.1 KB