patch-1.3.33 linux/drivers/net/at1700.c
Next file: linux/drivers/net/atp.c
Previous file: linux/drivers/net/Space.c
Back to the patch index
Back to the overall index
- Lines: 30
- Date:
Tue Oct 10 15:45:26 1995
- Orig file:
v1.3.32/linux/drivers/net/at1700.c
- Orig date:
Fri Oct 6 14:35:15 1995
diff -u --recursive --new-file v1.3.32/linux/drivers/net/at1700.c linux/drivers/net/at1700.c
@@ -205,7 +205,7 @@
/* Allocate a new 'dev' if needed. */
if (dev == NULL)
- dev = init_etherdev(0, sizeof(struct net_local), 0);
+ dev = init_etherdev(0, sizeof(struct net_local));
/* Grab the region so that we can find another board if the IRQ request
fails. */
@@ -623,9 +623,18 @@
set_multicast_list(struct device *dev, int num_addrs, void *addrs)
{
short ioaddr = dev->base_addr;
- if (num_addrs) {
+ if (num_addrs)
+ {
+ /*
+ * We must make the kernel realise we had to move
+ * into promisc mode or we start all out war on
+ * the cable. - AC
+ */
+ dev->flags|=IFF_PROMISC;
+
outb(3, ioaddr + RX_MODE); /* Enable promiscuous mode */
- } else
+ }
+ else
outb(2, ioaddr + RX_MODE); /* Disable promiscuous, use normal mode */
}
#ifdef MODULE
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