diff options
Diffstat (limited to 'drivers/net/wireless/zd1211rw')
-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 16fa289ad77b..b0b666019a93 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/zd1211rw/zd_mac.c | |||
@@ -948,20 +948,17 @@ static void set_rx_filter_handler(struct work_struct *work) | |||
948 | } | 948 | } |
949 | 949 | ||
950 | static u64 zd_op_prepare_multicast(struct ieee80211_hw *hw, | 950 | static u64 zd_op_prepare_multicast(struct ieee80211_hw *hw, |
951 | int mc_count, struct dev_addr_list *mclist) | 951 | struct netdev_hw_addr_list *mc_list) |
952 | { | 952 | { |
953 | struct zd_mac *mac = zd_hw_mac(hw); | 953 | struct zd_mac *mac = zd_hw_mac(hw); |
954 | struct zd_mc_hash hash; | 954 | struct zd_mc_hash hash; |
955 | int i; | 955 | struct netdev_hw_addr *ha; |
956 | 956 | ||
957 | zd_mc_clear(&hash); | 957 | zd_mc_clear(&hash); |
958 | 958 | ||
959 | for (i = 0; i < mc_count; i++) { | 959 | netdev_hw_addr_list_for_each(ha, mc_list) { |
960 | if (!mclist) | 960 | dev_dbg_f(zd_mac_dev(mac), "mc addr %pM\n", ha->addr); |
961 | break; | 961 | zd_mc_add_addr(&hash, ha->addr); |
962 | dev_dbg_f(zd_mac_dev(mac), "mc addr %pM\n", mclist->dmi_addr); | ||
963 | zd_mc_add_addr(&hash, mclist->dmi_addr); | ||
964 | mclist = mclist->next; | ||
965 | } | 962 | } |
966 | 963 | ||
967 | return hash.low | ((u64)hash.high << 32); | 964 | return hash.low | ((u64)hash.high << 32); |