aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/usb/dm9601.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/usb/dm9601.c b/drivers/net/usb/dm9601.c
index 3d406f9b2f29..c820fec62041 100644
--- a/drivers/net/usb/dm9601.c
+++ b/drivers/net/usb/dm9601.c
@@ -381,13 +381,13 @@ static void dm9601_set_multicast(struct net_device *net)
381 381
382 if (net->flags & IFF_PROMISC) { 382 if (net->flags & IFF_PROMISC) {
383 rx_ctl |= 0x02; 383 rx_ctl |= 0x02;
384 } else if (net->flags & IFF_ALLMULTI || net->mc_count > DM_MAX_MCAST) { 384 } else if (net->flags & IFF_ALLMULTI ||
385 netdev_mc_count(net) > DM_MAX_MCAST) {
385 rx_ctl |= 0x04; 386 rx_ctl |= 0x04;
386 } else if (net->mc_count) { 387 } else if (!netdev_mc_empty(net)) {
387 struct dev_mc_list *mc_list = net->mc_list; 388 struct dev_mc_list *mc_list;
388 int i;
389 389
390 for (i = 0; i < net->mc_count; i++, mc_list = mc_list->next) { 390 netdev_for_each_mc_addr(mc_list, net) {
391 u32 crc = ether_crc(ETH_ALEN, mc_list->dmi_addr) >> 26; 391 u32 crc = ether_crc(ETH_ALEN, mc_list->dmi_addr) >> 26;
392 hashes[crc >> 3] |= 1 << (crc & 0x7); 392 hashes[crc >> 3] |= 1 << (crc & 0x7);
393 } 393 }