diff options
Diffstat (limited to 'drivers/net/fec.c')
-rw-r--r-- | drivers/net/fec.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c index 848eb1968ab..2b1651aee13 100644 --- a/drivers/net/fec.c +++ b/drivers/net/fec.c | |||
@@ -954,7 +954,7 @@ fec_enet_close(struct net_device *dev) | |||
954 | static void set_multicast_list(struct net_device *dev) | 954 | static void set_multicast_list(struct net_device *dev) |
955 | { | 955 | { |
956 | struct fec_enet_private *fep = netdev_priv(dev); | 956 | struct fec_enet_private *fep = netdev_priv(dev); |
957 | struct dev_mc_list *dmi; | 957 | struct netdev_hw_addr *ha; |
958 | unsigned int i, bit, data, crc, tmp; | 958 | unsigned int i, bit, data, crc, tmp; |
959 | unsigned char hash; | 959 | unsigned char hash; |
960 | 960 | ||
@@ -984,16 +984,16 @@ static void set_multicast_list(struct net_device *dev) | |||
984 | writel(0, fep->hwp + FEC_GRP_HASH_TABLE_HIGH); | 984 | writel(0, fep->hwp + FEC_GRP_HASH_TABLE_HIGH); |
985 | writel(0, fep->hwp + FEC_GRP_HASH_TABLE_LOW); | 985 | writel(0, fep->hwp + FEC_GRP_HASH_TABLE_LOW); |
986 | 986 | ||
987 | netdev_for_each_mc_addr(dmi, dev) { | 987 | netdev_for_each_mc_addr(ha, dev) { |
988 | /* Only support group multicast for now */ | 988 | /* Only support group multicast for now */ |
989 | if (!(dmi->dmi_addr[0] & 1)) | 989 | if (!(ha->addr[0] & 1)) |
990 | continue; | 990 | continue; |
991 | 991 | ||
992 | /* calculate crc32 value of mac address */ | 992 | /* calculate crc32 value of mac address */ |
993 | crc = 0xffffffff; | 993 | crc = 0xffffffff; |
994 | 994 | ||
995 | for (i = 0; i < dmi->dmi_addrlen; i++) { | 995 | for (i = 0; i < dev->addr_len; i++) { |
996 | data = dmi->dmi_addr[i]; | 996 | data = ha->addr[i]; |
997 | for (bit = 0; bit < 8; bit++, data >>= 1) { | 997 | for (bit = 0; bit < 8; bit++, data >>= 1) { |
998 | crc = (crc >> 1) ^ | 998 | crc = (crc >> 1) ^ |
999 | (((crc ^ data) & 1) ? CRC32_POLY : 0); | 999 | (((crc ^ data) & 1) ? CRC32_POLY : 0); |