wifi: rtl8xxxu: support multiple interfaces in set_aifs()

In concurrent mode supported by this driver, both interfaces will use
the same channel and same wireless mode.
It is therefore possible to get the wireless mode by checking the first
connected interface.

Signed-off-by: Martin Kaistra <martin.kaistra@linutronix.de>
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231222101442.626837-11-martin.kaistra@linutronix.de
This commit is contained in:
Martin Kaistra
2023-12-22 11:14:31 +01:00
committed by Kalle Valo
parent 3ff7a05996
commit 43532c050f

View File

@@ -4913,14 +4913,20 @@ static void rtl8xxxu_set_aifs(struct rtl8xxxu_priv *priv, u8 slot_time)
u8 aifs, aifsn, sifs;
int i;
if (priv->vif) {
for (i = 0; i < ARRAY_SIZE(priv->vifs); i++) {
if (!priv->vifs[i])
continue;
struct ieee80211_sta *sta;
rcu_read_lock();
sta = ieee80211_find_sta(priv->vif, priv->vif->bss_conf.bssid);
sta = ieee80211_find_sta(priv->vifs[i], priv->vifs[i]->bss_conf.bssid);
if (sta)
wireless_mode = rtl8xxxu_wireless_mode(priv->hw, sta);
rcu_read_unlock();
if (wireless_mode)
break;
}
if (priv->hw->conf.chandef.chan->band == NL80211_BAND_5GHZ ||