• Florian Fainelli's avatar
    r6040: fix r6040_multicast_list · 3bcf8229
    Florian Fainelli authored
    As reported in <https://bugzilla.kernel.org/show_bug.cgi?id=15355>, r6040_
    multicast_list currently crashes. This is due a wrong maximum of multicast
    entries. This patch fixes the following issues with multicast:
    
    - number of maximum entries if off-by-one (4 instead of 3)
    
    - the writing of the hash table index is not necessary and leads to invalid
    values being written into the MCR1 register, so the MAC is simply put in a non
    coherent state
    
    - when we exceed the maximum number of mutlticast address, writing the
    broadcast address should be done in registers MID_1{L,M,H} instead of
    MID_O{L,M,H}, otherwise we would loose the adapter's MAC address
    Signed-off-by: default avatarFlorian Fainelli <florian@openwrt.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    3bcf8229
r6040.c 32.5 KB