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

Commit 837fb69f authored by Emmanuel Grumbach's avatar Emmanuel Grumbach Committed by Johannes Berg
Browse files

iwlwifi: mvm: don't set the MCAST queue in STA's queue list



The MCAST queue should be enabled after DTIM only.
According to fw API, the MCAST must not be attached to any
station, but should appear in the mcast_qid of the AP's
mac context only.

Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 5af01772
Loading
Loading
Loading
Loading
+1 −4
Original line number Original line Diff line number Diff line
@@ -193,14 +193,11 @@ static void iwl_mvm_mac_iface_iterator(void *_data, u8 *mac,
u32 iwl_mvm_mac_get_queues_mask(struct iwl_mvm *mvm,
u32 iwl_mvm_mac_get_queues_mask(struct iwl_mvm *mvm,
				struct ieee80211_vif *vif)
				struct ieee80211_vif *vif)
{
{
	u32 qmask, ac;
	u32 qmask = 0, ac;


	if (vif->type == NL80211_IFTYPE_P2P_DEVICE)
	if (vif->type == NL80211_IFTYPE_P2P_DEVICE)
		return BIT(IWL_MVM_OFFCHANNEL_QUEUE);
		return BIT(IWL_MVM_OFFCHANNEL_QUEUE);


	qmask = (vif->cab_queue != IEEE80211_INVAL_HW_QUEUE) ?
		BIT(vif->cab_queue) : 0;

	for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
	for (ac = 0; ac < IEEE80211_NUM_ACS; ac++)
		if (vif->hw_queue[ac] != IEEE80211_INVAL_HW_QUEUE)
		if (vif->hw_queue[ac] != IEEE80211_INVAL_HW_QUEUE)
			qmask |= BIT(vif->hw_queue[ac]);
			qmask |= BIT(vif->hw_queue[ac]);
+0 −3
Original line number Original line Diff line number Diff line
@@ -229,9 +229,6 @@ int iwl_mvm_add_sta(struct iwl_mvm *mvm,
		if (vif->hw_queue[i] != IEEE80211_INVAL_HW_QUEUE)
		if (vif->hw_queue[i] != IEEE80211_INVAL_HW_QUEUE)
			mvm_sta->tfd_queue_msk |= BIT(vif->hw_queue[i]);
			mvm_sta->tfd_queue_msk |= BIT(vif->hw_queue[i]);


	if (vif->cab_queue != IEEE80211_INVAL_HW_QUEUE)
		mvm_sta->tfd_queue_msk |= BIT(vif->cab_queue);

	/* for HW restart - need to reset the seq_number etc... */
	/* for HW restart - need to reset the seq_number etc... */
	memset(mvm_sta->tid_data, 0, sizeof(mvm_sta->tid_data));
	memset(mvm_sta->tid_data, 0, sizeof(mvm_sta->tid_data));