summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/realtek/rtl8xxxu
diff options
context:
space:
mode:
authorMartin Kaistra <martin.kaistra@linutronix.de>2023-12-22 13:14:31 +0300
committerKalle Valo <kvalo@kernel.org>2024-01-10 17:52:56 +0300
commit43532c050f8eec4056a21978fdb5b958e1477553 (patch)
tree5694e1201e9f8d3ac6f74084de9905920bf37f24 /drivers/net/wireless/realtek/rtl8xxxu
parent3ff7a05996f901a7a10068b42e9dc8435f908a4c (diff)
downloadlinux-43532c050f8eec4056a21978fdb5b958e1477553.tar.xz
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
Diffstat (limited to 'drivers/net/wireless/realtek/rtl8xxxu')
-rw-r--r--drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
index 71d9d48ef214..3adbcc4bccb5 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -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 ||