• Florian Fainelli's avatar
    net: dsa: b53: Rework ARL bin logic · 6344dbde
    Florian Fainelli authored
    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>
    6344dbde
b53_common.c 65.6 KB