From f999581ad6b5244e6d9af5143a41ee8f5d01ddd2 Mon Sep 17 00:00:00 2001 From: Sean Khan Date: Fri, 4 Oct 2024 19:40:21 -0400 Subject: [PATCH] ath11k_nss: 6.11.2: fix 235-003-ath11k-add-AP_VLAN-vif-support-for-WDS-offload-in-NSS-offload.patch Signed-off-by: Sean Khan ath11k_nss: 6.11.2 refresh 235-003-ath11k-add-AP_VLAN-vif-support-for-WDS-offload-in-NSS-offload.patch Signed-off-by: Sean Khan --- ...pport-for-WDS-offload-in-NSS-offload.patch | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/package/kernel/mac80211/patches/nss/ath11k/235-003-ath11k-add-AP_VLAN-vif-support-for-WDS-offload-in-NSS-offload.patch b/package/kernel/mac80211/patches/nss/ath11k/235-003-ath11k-add-AP_VLAN-vif-support-for-WDS-offload-in-NSS-offload.patch index bc26bfa692..0be8370d4e 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/235-003-ath11k-add-AP_VLAN-vif-support-for-WDS-offload-in-NSS-offload.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/235-003-ath11k-add-AP_VLAN-vif-support-for-WDS-offload-in-NSS-offload.patch @@ -33,7 +33,7 @@ Signed-off-by: Sathishkumar Muruganandam --- a/drivers/net/wireless/ath/ath11k/core.h +++ b/drivers/net/wireless/ath/ath11k/core.h -@@ -430,6 +430,7 @@ struct ath11k_vif { +@@ -431,6 +431,7 @@ struct ath11k_vif { #ifdef CPTCFG_ATH11K_NSS_SUPPORT struct arvif_nss nss; #endif @@ -224,7 +224,7 @@ Signed-off-by: Sathishkumar Muruganandam param_id = WMI_VDEV_PARAM_TX_ENCAP_TYPE; if (ath11k_frame_mode != ATH11K_HW_TXRX_ETHERNET || (vif->type != NL80211_IFTYPE_STATION && -@@ -6744,7 +6871,8 @@ static int ath11k_mac_op_add_interface(s +@@ -6754,7 +6881,8 @@ static int ath11k_mac_op_add_interface(s goto err; } @@ -234,7 +234,7 @@ Signed-off-by: Sathishkumar Muruganandam ath11k_warn(ab, "failed to create vdev %u, reached max vdev limit %d\n", ar->num_created_vdevs, TARGET_NUM_VDEVS(ab)); ret = -EBUSY; -@@ -6757,6 +6885,28 @@ static int ath11k_mac_op_add_interface(s +@@ -6767,6 +6895,28 @@ static int ath11k_mac_op_add_interface(s arvif->vif = vif; INIT_LIST_HEAD(&arvif->list); @@ -260,10 +260,10 @@ Signed-off-by: Sathishkumar Muruganandam + } + } + + INIT_WORK(&arvif->bcn_tx_work, ath11k_mac_bcn_tx_work); INIT_DELAYED_WORK(&arvif->connection_loss_work, ath11k_mac_vif_sta_connection_loss_work); - -@@ -6788,6 +6938,7 @@ static int ath11k_mac_op_add_interface(s +@@ -6799,6 +6949,7 @@ static int ath11k_mac_op_add_interface(s fallthrough; case NL80211_IFTYPE_AP: arvif->vdev_type = WMI_VDEV_TYPE_AP; @@ -271,7 +271,7 @@ Signed-off-by: Sathishkumar Muruganandam if (vif->p2p) arvif->vdev_subtype = WMI_VDEV_SUBTYPE_P2P_GO; break; -@@ -7023,13 +7174,30 @@ static void ath11k_mac_op_remove_interfa +@@ -7034,14 +7185,31 @@ static void ath11k_mac_op_remove_interfa struct ath11k *ar = hw->priv; struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); struct ath11k_base *ab = ar->ab; @@ -279,10 +279,8 @@ Signed-off-by: Sathishkumar Muruganandam int ret; int i; -- cancel_delayed_work_sync(&arvif->connection_loss_work); -- - mutex_lock(&ar->conf_mutex); - ++ mutex_lock(&ar->conf_mutex); ++ + if (vif->type == NL80211_IFTYPE_AP_VLAN) { + ath11k_nss_ext_vdev_delete(arvif); + @@ -299,12 +297,15 @@ Signed-off-by: Sathishkumar Muruganandam + goto unlock; + } + -+ cancel_delayed_work_sync(&arvif->connection_loss_work); -+ + cancel_delayed_work_sync(&arvif->connection_loss_work); + cancel_work_sync(&arvif->bcn_tx_work); + +- mutex_lock(&ar->conf_mutex); +- ath11k_dbg(ab, ATH11K_DBG_MAC, "remove interface (vdev %d)\n", arvif->vdev_id); -@@ -7046,6 +7214,14 @@ static void ath11k_mac_op_remove_interfa +@@ -7058,6 +7226,14 @@ static void ath11k_mac_op_remove_interfa if (ret) ath11k_warn(ab, "failed to submit AP self-peer removal on vdev %d: %d\n", arvif->vdev_id, ret); @@ -319,7 +320,7 @@ Signed-off-by: Sathishkumar Muruganandam } ret = ath11k_mac_vdev_delete(ar, arvif); -@@ -7087,8 +7263,7 @@ err_vdev_del: +@@ -7099,8 +7275,7 @@ err_vdev_del: /* Recalc txpower for remaining vdev */ ath11k_mac_txpower_recalc(ar); @@ -329,7 +330,7 @@ Signed-off-by: Sathishkumar Muruganandam mutex_unlock(&ar->conf_mutex); } -@@ -7148,16 +7323,17 @@ static int ath11k_mac_op_ampdu_action(st +@@ -7160,16 +7335,17 @@ static int ath11k_mac_op_ampdu_action(st struct ieee80211_ampdu_params *params) { struct ath11k *ar = hw->priv; @@ -349,7 +350,7 @@ Signed-off-by: Sathishkumar Muruganandam break; case IEEE80211_AMPDU_TX_START: case IEEE80211_AMPDU_TX_STOP_CONT: -@@ -9085,6 +9261,7 @@ static void ath11k_mac_op_sta_statistics +@@ -9097,6 +9273,7 @@ static void ath11k_mac_op_sta_statistics { struct ath11k_sta *arsta = ath11k_sta_to_arsta(sta); struct ath11k *ar = arsta->arvif->ar; @@ -357,7 +358,7 @@ Signed-off-by: Sathishkumar Muruganandam s8 signal; bool db2dbm = test_bit(WMI_TLV_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT, ar->ab->wmi_ab.svc_map); -@@ -9144,7 +9321,8 @@ static void ath11k_mac_op_sta_statistics +@@ -9156,7 +9333,8 @@ static void ath11k_mac_op_sta_statistics sinfo->filled |= BIT_ULL(NL80211_STA_INFO_SIGNAL_AVG);