diff options
Diffstat (limited to 'net/irda/irlan/irlan_eth.c')
-rw-r--r-- | net/irda/irlan/irlan_eth.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/irda/irlan/irlan_eth.c b/net/irda/irlan/irlan_eth.c index d340110f5c0c..9616c32d1076 100644 --- a/net/irda/irlan/irlan_eth.c +++ b/net/irda/irlan/irlan_eth.c | |||
@@ -321,14 +321,15 @@ static void irlan_eth_set_multicast_list(struct net_device *dev) | |||
321 | /* Enable promiscuous mode */ | 321 | /* Enable promiscuous mode */ |
322 | IRDA_WARNING("Promiscuous mode not implemented by IrLAN!\n"); | 322 | IRDA_WARNING("Promiscuous mode not implemented by IrLAN!\n"); |
323 | } | 323 | } |
324 | else if ((dev->flags & IFF_ALLMULTI) || dev->mc_count > HW_MAX_ADDRS) { | 324 | else if ((dev->flags & IFF_ALLMULTI) || |
325 | netdev_mc_count(dev) > HW_MAX_ADDRS) { | ||
325 | /* Disable promiscuous mode, use normal mode. */ | 326 | /* Disable promiscuous mode, use normal mode. */ |
326 | IRDA_DEBUG(4, "%s(), Setting multicast filter\n", __func__ ); | 327 | IRDA_DEBUG(4, "%s(), Setting multicast filter\n", __func__ ); |
327 | /* hardware_set_filter(NULL); */ | 328 | /* hardware_set_filter(NULL); */ |
328 | 329 | ||
329 | irlan_set_multicast_filter(self, TRUE); | 330 | irlan_set_multicast_filter(self, TRUE); |
330 | } | 331 | } |
331 | else if (dev->mc_count) { | 332 | else if (!netdev_mc_empty(dev)) { |
332 | IRDA_DEBUG(4, "%s(), Setting multicast filter\n", __func__ ); | 333 | IRDA_DEBUG(4, "%s(), Setting multicast filter\n", __func__ ); |
333 | /* Walk the address list, and load the filter */ | 334 | /* Walk the address list, and load the filter */ |
334 | /* hardware_set_filter(dev->mc_list); */ | 335 | /* hardware_set_filter(dev->mc_list); */ |