aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/3c509.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/3c509.c')
-rw-r--r--drivers/net/3c509.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/3c509.c b/drivers/net/3c509.c
index 9d85efce5916..902435a76466 100644
--- a/drivers/net/3c509.c
+++ b/drivers/net/3c509.c
@@ -1111,12 +1111,14 @@ set_multicast_list(struct net_device *dev)
1111 unsigned long flags; 1111 unsigned long flags;
1112 struct el3_private *lp = netdev_priv(dev); 1112 struct el3_private *lp = netdev_priv(dev);
1113 int ioaddr = dev->base_addr; 1113 int ioaddr = dev->base_addr;
1114 int mc_count = netdev_mc_count(dev);
1114 1115
1115 if (el3_debug > 1) { 1116 if (el3_debug > 1) {
1116 static int old; 1117 static int old;
1117 if (old != dev->mc_count) { 1118 if (old != mc_count) {
1118 old = dev->mc_count; 1119 old = mc_count;
1119 pr_debug("%s: Setting Rx mode to %d addresses.\n", dev->name, dev->mc_count); 1120 pr_debug("%s: Setting Rx mode to %d addresses.\n",
1121 dev->name, mc_count);
1120 } 1122 }
1121 } 1123 }
1122 spin_lock_irqsave(&lp->lock, flags); 1124 spin_lock_irqsave(&lp->lock, flags);
@@ -1124,7 +1126,7 @@ set_multicast_list(struct net_device *dev)
1124 outw(SetRxFilter | RxStation | RxMulticast | RxBroadcast | RxProm, 1126 outw(SetRxFilter | RxStation | RxMulticast | RxBroadcast | RxProm,
1125 ioaddr + EL3_CMD); 1127 ioaddr + EL3_CMD);
1126 } 1128 }
1127 else if (dev->mc_count || (dev->flags&IFF_ALLMULTI)) { 1129 else if (mc_count || (dev->flags&IFF_ALLMULTI)) {
1128 outw(SetRxFilter | RxStation | RxMulticast | RxBroadcast, ioaddr + EL3_CMD); 1130 outw(SetRxFilter | RxStation | RxMulticast | RxBroadcast, ioaddr + EL3_CMD);
1129 } 1131 }
1130 else 1132 else