diff options
Diffstat (limited to 'drivers/net/wireless/zd1211rw/zd_mac.c')
-rw-r--r-- | drivers/net/wireless/zd1211rw/zd_mac.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c index 00e09e26c82..6d95e4d74d7 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/zd1211rw/zd_mac.c | |||
@@ -947,20 +947,17 @@ static void set_rx_filter_handler(struct work_struct *work) | |||
947 | } | 947 | } |
948 | 948 | ||
949 | static u64 zd_op_prepare_multicast(struct ieee80211_hw *hw, | 949 | static u64 zd_op_prepare_multicast(struct ieee80211_hw *hw, |
950 | int mc_count, struct dev_addr_list *mclist) | 950 | struct netdev_hw_addr_list *mc_list) |
951 | { | 951 | { |
952 | struct zd_mac *mac = zd_hw_mac(hw); | 952 | struct zd_mac *mac = zd_hw_mac(hw); |
953 | struct zd_mc_hash hash; | 953 | struct zd_mc_hash hash; |
954 | int i; | 954 | struct netdev_hw_addr *ha; |
955 | 955 | ||
956 | zd_mc_clear(&hash); | 956 | zd_mc_clear(&hash); |
957 | 957 | ||
958 | for (i = 0; i < mc_count; i++) { | 958 | netdev_hw_addr_list_for_each(ha, mc_list) { |
959 | if (!mclist) | 959 | dev_dbg_f(zd_mac_dev(mac), "mc addr %pM\n", ha->addr); |
960 | break; | 960 | zd_mc_add_addr(&hash, ha->addr); |
961 | dev_dbg_f(zd_mac_dev(mac), "mc addr %pM\n", mclist->dmi_addr); | ||
962 | zd_mc_add_addr(&hash, mclist->dmi_addr); | ||
963 | mclist = mclist->next; | ||
964 | } | 961 | } |
965 | 962 | ||
966 | return hash.low | ((u64)hash.high << 32); | 963 | return hash.low | ((u64)hash.high << 32); |