Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61e7d91b authored by Luca Coelho's avatar Luca Coelho
Browse files

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: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 97bce57b
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -1643,6 +1643,12 @@ static void iwl_mvm_configure_filter(struct ieee80211_hw *hw,
	if (!cmd)
	if (!cmd)
		goto out;
		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);
	iwl_mvm_recalc_multicast(mvm);
out:
out:
	mutex_unlock(&mvm->mutex);
	mutex_unlock(&mvm->mutex);