diff options
Diffstat (limited to 'drivers/net/3c509.c')
-rw-r--r-- | drivers/net/3c509.c | 10 |
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 |