lkml.org 
[lkml]   [2008]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 006/104] atl1e: fix broken multicast by removing unnecessary crc inversion
    2.6.27-stable review patch.  If anyone has any objections, please let us know.

    ------------------
    From: J. K. Cliburn <jcliburn@gmail.com>

    commit 7ee0fddfe05f105d3346aa8774695e7130697836 upstream.

    Inverting the crc after calling ether_crc_le() is unnecessary and breaks
    multicast. Remove it.

    Tested-by: David Madore <david.madore@ens.fr>
    Signed-off-by: Jay Cliburn <jcliburn@gmail.com>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/net/atl1e/atl1e_hw.c | 4 ----
    1 file changed, 4 deletions(-)

    --- a/drivers/net/atl1e/atl1e_hw.c
    +++ b/drivers/net/atl1e/atl1e_hw.c
    @@ -163,9 +163,6 @@ int atl1e_read_mac_addr(struct atl1e_hw
    * atl1e_hash_mc_addr
    * purpose
    * set hash value for a multicast address
    - * hash calcu processing :
    - * 1. calcu 32bit CRC for multicast address
    - * 2. reverse crc with MSB to LSB
    */
    u32 atl1e_hash_mc_addr(struct atl1e_hw *hw, u8 *mc_addr)
    {
    @@ -174,7 +171,6 @@ u32 atl1e_hash_mc_addr(struct atl1e_hw *
    int i;

    crc32 = ether_crc_le(6, mc_addr);
    - crc32 = ~crc32;
    for (i = 0; i < 32; i++)
    value |= (((crc32 >> i) & 1) << (31 - i));



    \
     
     \ /
      Last update: 2008-12-03 20:55    [W:4.108 / U:0.216 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site