Revert "[rdkb][common][bsp][Refactor and sync wif..."
Revert submission 8048803
Reason for revert: <wifi 7 not stable>
Reverted changes: /q/submissionid:8048803
Change-Id: Ic1b9f9d5e28fbbb92831ad9059dea73768200f17
diff --git a/recipes-wifi/hostapd/files/patches-2.10.3/mtk-0039-hostapd-mtk-Set-STA-TX-queue-parameters-configuratio.patch b/recipes-wifi/hostapd/files/patches-2.10.3/mtk-0039-hostapd-mtk-Set-STA-TX-queue-parameters-configuratio.patch
new file mode 100644
index 0000000..9c8c63b
--- /dev/null
+++ b/recipes-wifi/hostapd/files/patches-2.10.3/mtk-0039-hostapd-mtk-Set-STA-TX-queue-parameters-configuratio.patch
@@ -0,0 +1,78 @@
+From 55837ad406c9af8a398d6073809151f7a3779b74 Mon Sep 17 00:00:00 2001
+From: Michael Lee <michael-cy.lee@mediatek.com>
+Date: Fri, 7 Jul 2023 17:16:11 +0800
+Subject: [PATCH 39/40] hostapd: mtk: Set STA TX queue parameters configuration
+ after association
+
+This patch adds the way for wpa_supplicant to set driver's TX queue
+parameters.
+Since STA parses and apply TX queue parameters from AP beacon's WMM IE
+during association, wpa_supplicant set driver's TX queue parameters
+after the association.
+
+Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com>
+---
+ wpa_supplicant/driver_i.h | 12 ++++++++++++
+ wpa_supplicant/events.c | 16 ++++++++++++++++
+ 2 files changed, 28 insertions(+)
+
+diff --git a/wpa_supplicant/driver_i.h b/wpa_supplicant/driver_i.h
+index 48953c1..0699689 100644
+--- a/wpa_supplicant/driver_i.h
++++ b/wpa_supplicant/driver_i.h
+@@ -321,6 +321,18 @@ static inline int wpa_drv_set_country(struct wpa_supplicant *wpa_s,
+ return 0;
+ }
+
++static inline int wpa_drv_set_tx_queue_params(struct wpa_supplicant *wpa_s,
++ int q, int aifs, int cw_min,
++ int cw_max, int burst_time)
++{
++ int link_id = -1;
++ if (wpa_s->driver->set_tx_queue_params)
++ return wpa_s->driver->set_tx_queue_params(wpa_s->drv_priv, q,
++ aifs, cw_min, cw_max,
++ burst_time, link_id);
++ return 0;
++}
++
+ static inline int wpa_drv_send_mlme(struct wpa_supplicant *wpa_s,
+ const u8 *data, size_t data_len, int noack,
+ unsigned int freq, unsigned int wait)
+diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
+index 03442f5..5eb5248 100644
+--- a/wpa_supplicant/events.c
++++ b/wpa_supplicant/events.c
+@@ -3557,6 +3557,20 @@ out:
+ return wpa_sm_set_mlo_params(wpa_s->wpa, &wpa_mlo);
+ }
+
++static void wpa_supplicant_tx_queue_params(struct wpa_supplicant *wpa_s){
++ struct hostapd_tx_queue_params *p;
++
++ for (int i = 0; i < NUM_TX_QUEUES; i++){
++ p = &wpa_s->conf->tx_queue[i];
++ if(wpa_drv_set_tx_queue_params(wpa_s, i, p->aifs,
++ p->cwmin, p->cwmax,
++ p->burst)) {
++ wpa_printf(MSG_DEBUG, "Failed to set TX queue "
++ "parameters for queue %d.", i);
++ /* Continue anyway */
++ }
++ }
++}
+
+ static void wpa_supplicant_event_assoc(struct wpa_supplicant *wpa_s,
+ union wpa_event_data *data)
+@@ -3884,6 +3898,8 @@ static void wpa_supplicant_event_assoc(struct wpa_supplicant *wpa_s,
+
+ if (wpa_s->current_ssid && wpa_s->current_ssid->enable_4addr_mode)
+ wpa_supplicant_set_4addr_mode(wpa_s);
++
++ wpa_supplicant_tx_queue_params(wpa_s);
+ }
+
+
+--
+2.18.0
+