Commit 70fb0287 authored by Felix Fietkau's avatar Felix Fietkau
Browse files

mt76: mt7615: improve wmm index allocation



Typically all AP interfaces on a PHY will share the same WMM settings, while
sta/mesh interfaces will usually inherit the settings from a remote device.
In order minimize the likelihood of conflicting WMM settings, make all AP
interfaces share one slot, and all non-AP interfaces another one.

This also fixes running multiple AP interfaces on MT7613, which only has 3
WMM slots.

Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 792e1d21
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -208,11 +208,9 @@ static int mt7615_add_interface(struct ieee80211_hw *hw,
	mvif->mt76.omac_idx = idx;

	mvif->mt76.band_idx = ext_phy;
	if (mt7615_ext_phy(dev))
		mvif->mt76.wmm_idx = ext_phy * (MT7615_MAX_WMM_SETS / 2) +
				mvif->mt76.idx % (MT7615_MAX_WMM_SETS / 2);
	else
		mvif->mt76.wmm_idx = mvif->mt76.idx % MT7615_MAX_WMM_SETS;
	mvif->mt76.wmm_idx = vif->type != NL80211_IFTYPE_AP;
	if (ext_phy)
		mvif->mt76.wmm_idx += 2;

	dev->mt76.vif_mask |= BIT(mvif->mt76.idx);
	dev->omac_mask |= BIT_ULL(mvif->mt76.omac_idx);