aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ks8851.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ks8851.c')
-rw-r--r--drivers/net/ks8851.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/ks8851.c b/drivers/net/ks8851.c
index cfebe0e218fc..0573e0bb4444 100644
--- a/drivers/net/ks8851.c
+++ b/drivers/net/ks8851.c
@@ -965,14 +965,13 @@ static void ks8851_set_rx_mode(struct net_device *dev)
965 965
966 rxctrl.rxcr1 = (RXCR1_RXME | RXCR1_RXAE | 966 rxctrl.rxcr1 = (RXCR1_RXME | RXCR1_RXAE |
967 RXCR1_RXPAFMA | RXCR1_RXMAFMA); 967 RXCR1_RXPAFMA | RXCR1_RXMAFMA);
968 } else if (dev->flags & IFF_MULTICAST && dev->mc_count > 0) { 968 } else if (dev->flags & IFF_MULTICAST && !netdev_mc_empty(dev)) {
969 struct dev_mc_list *mcptr = dev->mc_list; 969 struct dev_mc_list *mcptr;
970 u32 crc; 970 u32 crc;
971 int i;
972 971
973 /* accept some multicast */ 972 /* accept some multicast */
974 973
975 for (i = dev->mc_count; i > 0; i--) { 974 netdev_for_each_mc_addr(mcptr, dev) {
976 crc = ether_crc(ETH_ALEN, mcptr->dmi_addr); 975 crc = ether_crc(ETH_ALEN, mcptr->dmi_addr);
977 crc >>= (32 - 6); /* get top six bits */ 976 crc >>= (32 - 6); /* get top six bits */
978 977