iwlwifi: mvm: handle FIF_ALLMULTI when setting multicast addresses
We were ignoring the FIF_ALLMULTI flag when setting the multicast addresses with MCAST_FILTER_CMD. Check if this flag is set and enable pass_all accordingly. We also need to set the count to 0 if pass_all is enable so we don't pass addresses to the firmware when not needed (as doing so causes an assert). This fixes https://bugzilla.kernel.org/show_bug.cgi?id=196741 Signed-off-by: Luca Coelho <luciano.coelho@intel.com>hifive-unleashed-5.1
parent
97bce57bd7
commit
61e7d91bcf
|
@ -1643,6 +1643,12 @@ static void iwl_mvm_configure_filter(struct ieee80211_hw *hw,
|
|||
if (!cmd)
|
||||
goto out;
|
||||
|
||||
if (changed_flags & FIF_ALLMULTI)
|
||||
cmd->pass_all = !!(*total_flags & FIF_ALLMULTI);
|
||||
|
||||
if (cmd->pass_all)
|
||||
cmd->count = 0;
|
||||
|
||||
iwl_mvm_recalc_multicast(mvm);
|
||||
out:
|
||||
mutex_unlock(&mvm->mutex);
|
||||
|
|
Loading…
Reference in New Issue