blob: c8f9a1e57d2fe510805f61bde18c1de6aa5abadd [file] [log] [blame]
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -1029,12 +1029,21 @@ static void iwl_mvm_recalc_multicast(str
}
static u64 iwl_mvm_prepare_multicast(struct ieee80211_hw *hw,
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
struct netdev_hw_addr_list *mc_list)
+#else
+ int addr_count,
+ struct dev_addr_list *mc_list)
+#endif
{
struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
struct iwl_mcast_filter_cmd *cmd;
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
struct netdev_hw_addr *addr;
int addr_count = netdev_hw_addr_list_count(mc_list);
+#else
+ struct dev_mc_list *addr;
+#endif
bool pass_all = false;
int len;
@@ -1053,11 +1062,15 @@ static u64 iwl_mvm_prepare_multicast(str
return (u64)(unsigned long)cmd;
}
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
netdev_hw_addr_list_for_each(addr, mc_list) {
+#else
+ for (addr = mc_list; addr; addr = addr->next) {
+#endif
IWL_DEBUG_MAC80211(mvm, "mcast addr (%d): %pM\n",
- cmd->count, addr->addr);
+ cmd->count, mc_addr(addr));
memcpy(&cmd->addr_list[cmd->count * ETH_ALEN],
- addr->addr, ETH_ALEN);
+ mc_addr(addr), ETH_ALEN);
cmd->count++;
}