From: Max Stepanov <[email protected]>

Add MVM_FW_MCAST_FILTER_PASS_ALL option to iwl-dbg-cfg.ini configuration file
to enable/disable FW multicast filtering.

Signed-off-by: Max Stepanov <[email protected]>
Signed-off-by: Emmanuel Grumbach <[email protected]>
---
 drivers/net/wireless/iwlwifi/mvm/constants.h |  1 +
 drivers/net/wireless/iwlwifi/mvm/mac80211.c  | 11 ++++++-----
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/mvm/constants.h 
b/drivers/net/wireless/iwlwifi/mvm/constants.h
index dd00e8f..cb48656 100644
--- a/drivers/net/wireless/iwlwifi/mvm/constants.h
+++ b/drivers/net/wireless/iwlwifi/mvm/constants.h
@@ -86,5 +86,6 @@
 #define IWL_MVM_BT_COEX_SYNC2SCO               1
 #define IWL_MVM_BT_COEX_CORUNNING              1
 #define IWL_MVM_BT_COEX_MPLUT                  1
+#define IWL_MVM_FW_MCAST_FILTER_PASS_ALL       0
 
 #endif /* __MVM_CONSTANTS_H */
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c 
b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index bcfb03c..089d7b3 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -1200,14 +1200,15 @@ static u64 iwl_mvm_prepare_multicast(struct 
ieee80211_hw *hw,
        struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
        struct iwl_mcast_filter_cmd *cmd;
        struct netdev_hw_addr *addr;
-       int addr_count = netdev_hw_addr_list_count(mc_list);
-       bool pass_all = false;
+       int addr_count;
+       bool pass_all;
        int len;
 
-       if (addr_count > MAX_MCAST_FILTERING_ADDRESSES) {
-               pass_all = true;
+       addr_count = netdev_hw_addr_list_count(mc_list);
+       pass_all = addr_count > MAX_MCAST_FILTERING_ADDRESSES ||
+                  IWL_MVM_FW_MCAST_FILTER_PASS_ALL;
+       if (pass_all)
                addr_count = 0;
-       }
 
        len = roundup(sizeof(*cmd) + addr_count * ETH_ALEN, 4);
        cmd = kzalloc(len, GFP_ATOMIC);
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to