summaryrefslogtreecommitdiff
path: root/patches/collateral-evolutions
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2014-01-01 21:40:40 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2014-01-18 13:43:57 +0100
commite24819fbd628c3f318414a7e9f8fb1e79f0c36f1 (patch)
treea2bc360ce881f681b093b03fd4c46e031706c0d6 /patches/collateral-evolutions
parent51f54bc87c1a570d55049572c6f35f6e3f099a35 (diff)
backports: backport multicast list handling in iwlwifi mvm
Backport multicast list handling for kernel < 2.6.35 in iwlwifi mvm driver. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'patches/collateral-evolutions')
-rw-r--r--patches/collateral-evolutions/network/25-multicast-list_head/drivers_net_wireless_iwlwifi.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/patches/collateral-evolutions/network/25-multicast-list_head/drivers_net_wireless_iwlwifi.patch b/patches/collateral-evolutions/network/25-multicast-list_head/drivers_net_wireless_iwlwifi.patch
new file mode 100644
index 00000000..3404c11d
--- /dev/null
+++ b/patches/collateral-evolutions/network/25-multicast-list_head/drivers_net_wireless_iwlwifi.patch
@@ -0,0 +1,42 @@
+--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
++++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+@@ -800,12 +800,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;
+
+@@ -824,11 +833,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++;
+ }
+