#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 */
 
        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);