1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- From 43532c050f8eec4056a21978fdb5b958e1477553 Mon Sep 17 00:00:00 2001
- From: Martin Kaistra <[email protected]>
- Date: Fri, 22 Dec 2023 11:14:31 +0100
- Subject: [PATCH 10/21] 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 <[email protected]>
- Reviewed-by: Ping-Ke Shih <[email protected]>
- Signed-off-by: Kalle Valo <[email protected]>
- Link: https://msgid.link/[email protected]
- ---
- drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
- --- 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 rtl
- 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 ||
|