diff options
Diffstat (limited to 'drivers/net/3c527.c')
| -rw-r--r-- | drivers/net/3c527.c | 9 |
1 files changed, 3 insertions, 6 deletions
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]; |
