OSDN Git Service

mt76: mt7915: improve wmm index allocation
authorFelix Fietkau <nbd@nbd.name>
Thu, 25 Nov 2021 09:47:14 +0000 (10:47 +0100)
committerFelix Fietkau <nbd@nbd.name>
Sun, 19 Dec 2021 14:24:01 +0000 (15:24 +0100)
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.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/main.c

index 057ab27..8c1fa08 100644 (file)
@@ -218,11 +218,9 @@ static int mt7915_add_interface(struct ieee80211_hw *hw,
        mvif->phy = phy;
        mvif->band_idx = ext_phy;
 
-       if (dev->mt76.phy2)
-               mvif->wmm_idx = ext_phy * (MT7915_MAX_WMM_SETS / 2) +
-                               mvif->idx % (MT7915_MAX_WMM_SETS / 2);
-       else
-               mvif->wmm_idx = mvif->idx % MT7915_MAX_WMM_SETS;
+       mvif->wmm_idx = vif->type != NL80211_IFTYPE_AP;
+       if (ext_phy)
+               mvif->wmm_idx += 2;
 
        ret = mt7915_mcu_add_dev_info(phy, vif, true);
        if (ret)