Commit 43532c05 authored by Martin Kaistra's avatar Martin Kaistra Committed by Kalle Valo
Browse files

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: default avatarMartin Kaistra <martin.kaistra@linutronix.de>
Reviewed-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231222101442.626837-11-martin.kaistra@linutronix.de
parent 3ff7a059
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -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 ||