• Lennert Buytenhek's avatar
    mv643xx_eth: fix multicast filter programming · 2b448334
    Lennert Buytenhek authored
    Commit 66e63ffb ("mv643xx_eth:
    implement ->set_rx_mode()") cleaned up mv643xx_eth's multicast filter
    programming, but broke it as well.
    
    The non-special multicast filter table (for multicast addresses that
    are not of the form 01:00:5e:00:00:xx) consists of 256 hash table
    buckets organised as 64 32-bit words, where the 'accept' bits are
    in the LSB of each byte, so in bits 24 16 8 0 of each 32-bit word.
    The old code got this right, but the referenced commit broke this by
    using bits 3 2 1 0 instead.  This commit fixes this up.
    Signed-off-by: default avatarLennert Buytenhek <buytenh@marvell.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    2b448334
mv643xx_eth.c 65.7 KB