diff options
-rw-r--r-- | drivers/net/3c523.c | 4 | ||||
-rw-r--r-- | drivers/net/3c527.c | 9 | ||||
-rw-r--r-- | drivers/net/atp.c | 9 | ||||
-rw-r--r-- | drivers/net/de620.c | 7 | ||||
-rw-r--r-- | drivers/net/eepro.c | 8 | ||||
-rw-r--r-- | drivers/net/eth16i.c | 1 | ||||
-rw-r--r-- | drivers/net/lp486e.c | 2 | ||||
-rw-r--r-- | drivers/net/ni5010.c | 1 | ||||
-rw-r--r-- | drivers/net/ni52.c | 2 | ||||
-rw-r--r-- | drivers/net/sun3_82586.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/orinoco.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/wavelan.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/wavelan_cs.c | 6 |
13 files changed, 9 insertions, 57 deletions
diff --git a/drivers/net/3c523.c b/drivers/net/3c523.c index dc6e474229b1..e2ce41d3828e 100644 --- a/drivers/net/3c523.c +++ b/drivers/net/3c523.c | |||
@@ -640,10 +640,8 @@ static int init586(struct net_device *dev) | |||
640 | cfg_cmd->time_low = 0x00; | 640 | cfg_cmd->time_low = 0x00; |
641 | cfg_cmd->time_high = 0xf2; | 641 | cfg_cmd->time_high = 0xf2; |
642 | cfg_cmd->promisc = 0; | 642 | cfg_cmd->promisc = 0; |
643 | if (dev->flags & (IFF_ALLMULTI | IFF_PROMISC)) { | 643 | if (dev->flags & (IFF_ALLMULTI | IFF_PROMISC)) |
644 | cfg_cmd->promisc = 1; | 644 | cfg_cmd->promisc = 1; |
645 | dev->flags |= IFF_PROMISC; | ||
646 | } | ||
647 | cfg_cmd->carr_coll = 0x00; | 645 | cfg_cmd->carr_coll = 0x00; |
648 | 646 | ||
649 | p->scb->cbl_offset = make16(cfg_cmd); | 647 | p->scb->cbl_offset = make16(cfg_cmd); |
diff --git a/drivers/net/3c527.c b/drivers/net/3c527.c index 6aca0c640f13..abc84f765973 100644 --- a/drivers/net/3c527.c +++ b/drivers/net/3c527.c | |||
@@ -1521,14 +1521,11 @@ static void do_mc32_set_multicast_list(struct net_device *dev, int retry) | |||
1521 | struct mc32_local *lp = netdev_priv(dev); | 1521 | struct mc32_local *lp = netdev_priv(dev); |
1522 | u16 filt = (1<<2); /* Save Bad Packets, for stats purposes */ | 1522 | u16 filt = (1<<2); /* Save Bad Packets, for stats purposes */ |
1523 | 1523 | ||
1524 | if (dev->flags&IFF_PROMISC) | 1524 | if ((dev->flags&IFF_PROMISC) || |
1525 | (dev->flags&IFF_ALLMULTI) || | ||
1526 | dev->mc_count > 10) | ||
1525 | /* Enable promiscuous mode */ | 1527 | /* Enable promiscuous mode */ |
1526 | filt |= 1; | 1528 | filt |= 1; |
1527 | else if((dev->flags&IFF_ALLMULTI) || dev->mc_count > 10) | ||
1528 | { | ||
1529 | dev->flags|=IFF_PROMISC; | ||
1530 | filt |= 1; | ||
1531 | } | ||
1532 | else if(dev->mc_count) | 1529 | else if(dev->mc_count) |
1533 | { | 1530 | { |
1534 | unsigned char block[62]; | 1531 | unsigned char block[62]; |
diff --git a/drivers/net/atp.c b/drivers/net/atp.c index 3d4433358a36..c10cd8058e23 100644 --- a/drivers/net/atp.c +++ b/drivers/net/atp.c | |||
@@ -854,14 +854,9 @@ static void set_rx_mode_8002(struct net_device *dev) | |||
854 | struct net_local *lp = netdev_priv(dev); | 854 | struct net_local *lp = netdev_priv(dev); |
855 | long ioaddr = dev->base_addr; | 855 | long ioaddr = dev->base_addr; |
856 | 856 | ||
857 | if ( dev->mc_count > 0 || (dev->flags & (IFF_ALLMULTI|IFF_PROMISC))) { | 857 | if (dev->mc_count > 0 || (dev->flags & (IFF_ALLMULTI|IFF_PROMISC))) |
858 | /* We must make the kernel realise we had to move | ||
859 | * into promisc mode or we start all out war on | ||
860 | * the cable. - AC | ||
861 | */ | ||
862 | dev->flags|=IFF_PROMISC; | ||
863 | lp->addr_mode = CMR2h_PROMISC; | 858 | lp->addr_mode = CMR2h_PROMISC; |
864 | } else | 859 | else |
865 | lp->addr_mode = CMR2h_Normal; | 860 | lp->addr_mode = CMR2h_Normal; |
866 | write_reg_high(ioaddr, CMR2, lp->addr_mode); | 861 | write_reg_high(ioaddr, CMR2, lp->addr_mode); |
867 | } | 862 | } |
diff --git a/drivers/net/de620.c b/drivers/net/de620.c index 3f5190c654cf..d454e143483e 100644 --- a/drivers/net/de620.c +++ b/drivers/net/de620.c | |||
@@ -488,13 +488,6 @@ static void de620_set_multicast_list(struct net_device *dev) | |||
488 | { | 488 | { |
489 | if (dev->mc_count || dev->flags&(IFF_ALLMULTI|IFF_PROMISC)) | 489 | if (dev->mc_count || dev->flags&(IFF_ALLMULTI|IFF_PROMISC)) |
490 | { /* Enable promiscuous mode */ | 490 | { /* Enable promiscuous mode */ |
491 | /* | ||
492 | * We must make the kernel realise we had to move | ||
493 | * into promisc mode or we start all out war on | ||
494 | * the cable. - AC | ||
495 | */ | ||
496 | dev->flags|=IFF_PROMISC; | ||
497 | |||
498 | de620_set_register(dev, W_TCR, (TCR_DEF & ~RXPBM) | RXALL); | 491 | de620_set_register(dev, W_TCR, (TCR_DEF & ~RXPBM) | RXALL); |
499 | } | 492 | } |
500 | else | 493 | else |
diff --git a/drivers/net/eepro.c b/drivers/net/eepro.c index 56f50491a453..1f11350e16cf 100644 --- a/drivers/net/eepro.c +++ b/drivers/net/eepro.c | |||
@@ -1283,14 +1283,6 @@ set_multicast_list(struct net_device *dev) | |||
1283 | 1283 | ||
1284 | if (dev->flags&(IFF_ALLMULTI|IFF_PROMISC) || dev->mc_count > 63) | 1284 | if (dev->flags&(IFF_ALLMULTI|IFF_PROMISC) || dev->mc_count > 63) |
1285 | { | 1285 | { |
1286 | /* | ||
1287 | * We must make the kernel realise we had to move | ||
1288 | * into promisc mode or we start all out war on | ||
1289 | * the cable. If it was a promisc request the | ||
1290 | * flag is already set. If not we assert it. | ||
1291 | */ | ||
1292 | dev->flags|=IFF_PROMISC; | ||
1293 | |||
1294 | eepro_sw2bank2(ioaddr); /* be CAREFUL, BANK 2 now */ | 1286 | eepro_sw2bank2(ioaddr); /* be CAREFUL, BANK 2 now */ |
1295 | mode = inb(ioaddr + REG2); | 1287 | mode = inb(ioaddr + REG2); |
1296 | outb(mode | PRMSC_Mode, ioaddr + REG2); | 1288 | outb(mode | PRMSC_Mode, ioaddr + REG2); |
diff --git a/drivers/net/eth16i.c b/drivers/net/eth16i.c index e3dd8b136908..bee8b3fbc565 100644 --- a/drivers/net/eth16i.c +++ b/drivers/net/eth16i.c | |||
@@ -1356,7 +1356,6 @@ static void eth16i_multicast(struct net_device *dev) | |||
1356 | 1356 | ||
1357 | if(dev->mc_count || dev->flags&(IFF_ALLMULTI|IFF_PROMISC)) | 1357 | if(dev->mc_count || dev->flags&(IFF_ALLMULTI|IFF_PROMISC)) |
1358 | { | 1358 | { |
1359 | dev->flags|=IFF_PROMISC; /* Must do this */ | ||
1360 | outb(3, ioaddr + RECEIVE_MODE_REG); | 1359 | outb(3, ioaddr + RECEIVE_MODE_REG); |
1361 | } else { | 1360 | } else { |
1362 | outb(2, ioaddr + RECEIVE_MODE_REG); | 1361 | outb(2, ioaddr + RECEIVE_MODE_REG); |
diff --git a/drivers/net/lp486e.c b/drivers/net/lp486e.c index 591a7e4220c7..83fa9d82a004 100644 --- a/drivers/net/lp486e.c +++ b/drivers/net/lp486e.c | |||
@@ -1272,8 +1272,6 @@ static void set_multicast_list(struct net_device *dev) { | |||
1272 | return; | 1272 | return; |
1273 | } | 1273 | } |
1274 | if (dev->mc_count == 0 && !(dev->flags & (IFF_PROMISC | IFF_ALLMULTI))) { | 1274 | if (dev->mc_count == 0 && !(dev->flags & (IFF_PROMISC | IFF_ALLMULTI))) { |
1275 | if (dev->flags & IFF_ALLMULTI) | ||
1276 | dev->flags |= IFF_PROMISC; | ||
1277 | lp->i596_config[8] &= ~0x01; | 1275 | lp->i596_config[8] &= ~0x01; |
1278 | } else { | 1276 | } else { |
1279 | lp->i596_config[8] |= 0x01; | 1277 | lp->i596_config[8] |= 0x01; |
diff --git a/drivers/net/ni5010.c b/drivers/net/ni5010.c index a20005c09e07..8e0ca9f4e404 100644 --- a/drivers/net/ni5010.c +++ b/drivers/net/ni5010.c | |||
@@ -648,7 +648,6 @@ static void ni5010_set_multicast_list(struct net_device *dev) | |||
648 | PRINTK2((KERN_DEBUG "%s: entering set_multicast_list\n", dev->name)); | 648 | PRINTK2((KERN_DEBUG "%s: entering set_multicast_list\n", dev->name)); |
649 | 649 | ||
650 | if (dev->flags&IFF_PROMISC || dev->flags&IFF_ALLMULTI || dev->mc_list) { | 650 | if (dev->flags&IFF_PROMISC || dev->flags&IFF_ALLMULTI || dev->mc_list) { |
651 | dev->flags |= IFF_PROMISC; | ||
652 | outb(RMD_PROMISC, EDLC_RMODE); /* Enable promiscuous mode */ | 651 | outb(RMD_PROMISC, EDLC_RMODE); /* Enable promiscuous mode */ |
653 | PRINTK((KERN_DEBUG "%s: Entering promiscuous mode\n", dev->name)); | 652 | PRINTK((KERN_DEBUG "%s: Entering promiscuous mode\n", dev->name)); |
654 | } else { | 653 | } else { |
diff --git a/drivers/net/ni52.c b/drivers/net/ni52.c index a316dcc8a06d..b9a882d362da 100644 --- a/drivers/net/ni52.c +++ b/drivers/net/ni52.c | |||
@@ -621,7 +621,7 @@ static int init586(struct net_device *dev) | |||
621 | if (num_addrs > len) { | 621 | if (num_addrs > len) { |
622 | printk(KERN_ERR "%s: switching to promisc. mode\n", | 622 | printk(KERN_ERR "%s: switching to promisc. mode\n", |
623 | dev->name); | 623 | dev->name); |
624 | dev->flags |= IFF_PROMISC; | 624 | writeb(0x01, &cfg_cmd->promisc); |
625 | } | 625 | } |
626 | } | 626 | } |
627 | if (dev->flags & IFF_PROMISC) | 627 | if (dev->flags & IFF_PROMISC) |
diff --git a/drivers/net/sun3_82586.c b/drivers/net/sun3_82586.c index 9b2a7f7bb258..e531302d95f5 100644 --- a/drivers/net/sun3_82586.c +++ b/drivers/net/sun3_82586.c | |||
@@ -425,14 +425,11 @@ static int init586(struct net_device *dev) | |||
425 | int len = ((char *) p->iscp - (char *) ptr - 8) / 6; | 425 | int len = ((char *) p->iscp - (char *) ptr - 8) / 6; |
426 | if(num_addrs > len) { | 426 | if(num_addrs > len) { |
427 | printk("%s: switching to promisc. mode\n",dev->name); | 427 | printk("%s: switching to promisc. mode\n",dev->name); |
428 | dev->flags|=IFF_PROMISC; | 428 | cfg_cmd->promisc = 1; |
429 | } | 429 | } |
430 | } | 430 | } |
431 | if(dev->flags&IFF_PROMISC) | 431 | if(dev->flags&IFF_PROMISC) |
432 | { | 432 | cfg_cmd->promisc = 1; |
433 | cfg_cmd->promisc=1; | ||
434 | dev->flags|=IFF_PROMISC; | ||
435 | } | ||
436 | cfg_cmd->carr_coll = 0x00; | 433 | cfg_cmd->carr_coll = 0x00; |
437 | 434 | ||
438 | p->scb->cbl_offset = make16(cfg_cmd); | 435 | p->scb->cbl_offset = make16(cfg_cmd); |
diff --git a/drivers/net/wireless/orinoco.c b/drivers/net/wireless/orinoco.c index b047306bf386..1ebcafe7ca5f 100644 --- a/drivers/net/wireless/orinoco.c +++ b/drivers/net/wireless/orinoco.c | |||
@@ -1998,13 +1998,6 @@ __orinoco_set_multicast_list(struct net_device *dev) | |||
1998 | else | 1998 | else |
1999 | priv->mc_count = mc_count; | 1999 | priv->mc_count = mc_count; |
2000 | } | 2000 | } |
2001 | |||
2002 | /* Since we can set the promiscuous flag when it wasn't asked | ||
2003 | for, make sure the net_device knows about it. */ | ||
2004 | if (priv->promiscuous) | ||
2005 | dev->flags |= IFF_PROMISC; | ||
2006 | else | ||
2007 | dev->flags &= ~IFF_PROMISC; | ||
2008 | } | 2001 | } |
2009 | 2002 | ||
2010 | /* This must be called from user context, without locks held - use | 2003 | /* This must be called from user context, without locks held - use |
diff --git a/drivers/net/wireless/wavelan.c b/drivers/net/wireless/wavelan.c index 49ae97003952..136220b5ca81 100644 --- a/drivers/net/wireless/wavelan.c +++ b/drivers/net/wireless/wavelan.c | |||
@@ -1409,9 +1409,6 @@ static void wavelan_set_multicast_list(struct net_device * dev) | |||
1409 | lp->mc_count = 0; | 1409 | lp->mc_count = 0; |
1410 | 1410 | ||
1411 | wv_82586_reconfig(dev); | 1411 | wv_82586_reconfig(dev); |
1412 | |||
1413 | /* Tell the kernel that we are doing a really bad job. */ | ||
1414 | dev->flags |= IFF_PROMISC; | ||
1415 | } | 1412 | } |
1416 | } else | 1413 | } else |
1417 | /* Are there multicast addresses to send? */ | 1414 | /* Are there multicast addresses to send? */ |
diff --git a/drivers/net/wireless/wavelan_cs.c b/drivers/net/wireless/wavelan_cs.c index b584c0ecc62d..00a3559e5aa4 100644 --- a/drivers/net/wireless/wavelan_cs.c +++ b/drivers/net/wireless/wavelan_cs.c | |||
@@ -1412,9 +1412,6 @@ wavelan_set_multicast_list(struct net_device * dev) | |||
1412 | lp->mc_count = 0; | 1412 | lp->mc_count = 0; |
1413 | 1413 | ||
1414 | wv_82593_reconfig(dev); | 1414 | wv_82593_reconfig(dev); |
1415 | |||
1416 | /* Tell the kernel that we are doing a really bad job... */ | ||
1417 | dev->flags |= IFF_PROMISC; | ||
1418 | } | 1415 | } |
1419 | } | 1416 | } |
1420 | else | 1417 | else |
@@ -1433,9 +1430,6 @@ wavelan_set_multicast_list(struct net_device * dev) | |||
1433 | lp->mc_count = 0; | 1430 | lp->mc_count = 0; |
1434 | 1431 | ||
1435 | wv_82593_reconfig(dev); | 1432 | wv_82593_reconfig(dev); |
1436 | |||
1437 | /* Tell the kernel that we are doing a really bad job... */ | ||
1438 | dev->flags |= IFF_ALLMULTI; | ||
1439 | } | 1433 | } |
1440 | } | 1434 | } |
1441 | else | 1435 | else |