patch-1.3.31 linux/drivers/net/3c501.c

Next file: linux/drivers/net/3c503.c
Previous file: linux/drivers/char/random.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.30/linux/drivers/net/3c501.c linux/drivers/net/3c501.c
@@ -654,6 +654,7 @@
 }
 
 /* Set or clear the multicast filter for this adaptor.
+   num_addrs == -2	All multicast hosts
    num_addrs == -1	Promiscuous mode, receive all packets
    num_addrs == 0	Normal mode, clear multicast list
    num_addrs > 0	Multicast mode, receive normal and MC packets, and do
@@ -664,8 +665,8 @@
 {
     int ioaddr = dev->base_addr;
 
-    if (num_addrs > 0) {
-	outb(RX_MULT, RX_CMD);
+    if (num_addrs > 0 || num_addrs==-2) {
+	outb(RX_MULT, RX_CMD);	/* Multicast or all multicast is the same */
 	inb(RX_STATUS);		/* Clear status. */
     } else if (num_addrs < 0) {
 	outb(RX_PROM, RX_CMD);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this