patch-1.3.33 linux/drivers/net/eepro.c

Next file: linux/drivers/net/eexpress.c
Previous file: linux/drivers/net/de620.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.32/linux/drivers/net/eepro.c linux/drivers/net/eepro.c
@@ -792,7 +792,15 @@
 	short ioaddr = dev->base_addr;
 	unsigned short mode;
 
-	if (num_addrs < -1 || num_addrs > 63) {
+	if (num_addrs <= -1 || num_addrs > 63) {
+		/*
+		 *	We must make the kernel realise we had to move
+		 *	into promisc mode or we start all out war on
+		 *	the cable. If it was a promisc rewquest the
+		 *	flag is already set. If not we assert it.
+		 */
+		dev->flags|=IFF_PROMISC;		
+
 		outb(BANK2_SELECT, ioaddr); /* be CAREFULL, BANK 2 now */
 		mode = inb(ioaddr + REG2);
 		outb(mode | PRMSC_Mode, ioaddr + REG2);	

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