"Maciej W. Rozycki" <macro@ds2.pg.gda.pl>: [patch] 2.4.19-pre7: A few declance multicast updates:
Hello,
It seems all Ethernet device drivers were bulk-converted to use the new
common CRC functions. I discovered declance used incorrect endianness to
calculate the sum for its multicast filter and had a few alignment
problems there. I fixed these bugs in the MIPS/Linux CVS tree which is at
2.4.18 now. Here is the respective update for the official kernel.
The bugs make the filter non-functional. Please apply.
Maciej
--- trivial-2.5.12/drivers/net/declance.c.orig Wed May 1 17:15:09 2002
+++ trivial-2.5.12/drivers/net/declance.c Wed May 1 17:15:09 2002
@@ -791,6 +791,8 @@
ib->mode = 0;
ib->filter [0] = 0;
ib->filter [2] = 0;
+ ib->filter [4] = 0;
+ ib->filter [6] = 0;
lance_init_ring(dev);
load_csrs(lp);
@@ -943,9 +945,9 @@
if (!(*addrs & 1))
continue;
- crc = ether_crc(6, addrs);
+ crc = ether_crc_le(6, addrs);
crc = crc >> 26;
- mcast_table[crc >> 3] |= 1 << (crc & 0xf);
+ mcast_table[2 * (crc >> 4)] |= 1 << (crc & 0xf);
}
return;
}
-- Anyone who quotes me in their sig is an idiot. -- Rusty Russell. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Tue May 07 2002 - 22:00:10 EST