[patch] ATL1E nic driver don't support multicast

Daniel Nyström daniel at nystrom.st
Fri Nov 21 14:15:55 UTC 2008


After installing my new ASUS motherboard Avahi stopped working. It
turned out that the ATL1E driver failed receiving multicasts.

I applied the following patch, and it started working immediately. As
ASUS is one of the bigger motherboard vendors I think this might be
important to get into a new kernel version.

Patch from:
http://kerneltrap.org/mailarchive/linux-netdev/2008/11/11/4060524

diff --git a/drivers/net/atl1e/atl1e_hw.c b/drivers/net/atl1e/atl1e_hw.c
index 949e753..c0d5f7c 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));

-- 
1.5.6.5
--




More information about the kernel-team mailing list