diff options
author | J. K. Cliburn <jcliburn@gmail.com> | 2008-11-11 16:21:48 -0600 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-11-14 18:18:55 -0500 |
commit | 7ee0fddfe05f105d3346aa8774695e7130697836 (patch) | |
tree | 25b22879da0a897a151216a12ab7afe275026119 /drivers/net | |
parent | 81183059e89c36f9b4c41f9332d642c2e0bff971 (diff) | |
download | talos-op-linux-7ee0fddfe05f105d3346aa8774695e7130697836.tar.gz talos-op-linux-7ee0fddfe05f105d3346aa8774695e7130697836.zip |
atl1e: fix broken multicast by removing unnecessary crc inversion
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>
Cc: stable@kernel.org
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/atl1e/atl1e_hw.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/net/atl1e/atl1e_hw.c b/drivers/net/atl1e/atl1e_hw.c index 8cbc1b59bd62..4a7700620119 100644 --- 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 *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 *hw, u8 *mc_addr) int i; crc32 = ether_crc_le(6, mc_addr); - crc32 = ~crc32; for (i = 0; i < 32; i++) value |= (((crc32 >> i) & 1) << (31 - i)); |