mirror of
https://github.com/breeze303/openwrt-ipq.git
synced 2025-12-16 16:41:07 +00:00
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 <datapronix@protonmail.com> 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 <datapronix@protonmail.com>
This commit is contained in:
parent
65e72bb996
commit
f999581ad6
@ -33,7 +33,7 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
|
|||||||
|
|
||||||
--- a/drivers/net/wireless/ath/ath11k/core.h
|
--- a/drivers/net/wireless/ath/ath11k/core.h
|
||||||
+++ b/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
|
#ifdef CPTCFG_ATH11K_NSS_SUPPORT
|
||||||
struct arvif_nss nss;
|
struct arvif_nss nss;
|
||||||
#endif
|
#endif
|
||||||
@ -224,7 +224,7 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
|
|||||||
param_id = WMI_VDEV_PARAM_TX_ENCAP_TYPE;
|
param_id = WMI_VDEV_PARAM_TX_ENCAP_TYPE;
|
||||||
if (ath11k_frame_mode != ATH11K_HW_TXRX_ETHERNET ||
|
if (ath11k_frame_mode != ATH11K_HW_TXRX_ETHERNET ||
|
||||||
(vif->type != NL80211_IFTYPE_STATION &&
|
(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;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -234,7 +234,7 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
|
|||||||
ath11k_warn(ab, "failed to create vdev %u, reached max vdev limit %d\n",
|
ath11k_warn(ab, "failed to create vdev %u, reached max vdev limit %d\n",
|
||||||
ar->num_created_vdevs, TARGET_NUM_VDEVS(ab));
|
ar->num_created_vdevs, TARGET_NUM_VDEVS(ab));
|
||||||
ret = -EBUSY;
|
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;
|
arvif->vif = vif;
|
||||||
|
|
||||||
INIT_LIST_HEAD(&arvif->list);
|
INIT_LIST_HEAD(&arvif->list);
|
||||||
@ -260,10 +260,10 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
|
|||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
INIT_WORK(&arvif->bcn_tx_work, ath11k_mac_bcn_tx_work);
|
||||||
INIT_DELAYED_WORK(&arvif->connection_loss_work,
|
INIT_DELAYED_WORK(&arvif->connection_loss_work,
|
||||||
ath11k_mac_vif_sta_connection_loss_work);
|
ath11k_mac_vif_sta_connection_loss_work);
|
||||||
|
@@ -6799,6 +6949,7 @@ static int ath11k_mac_op_add_interface(s
|
||||||
@@ -6788,6 +6938,7 @@ static int ath11k_mac_op_add_interface(s
|
|
||||||
fallthrough;
|
fallthrough;
|
||||||
case NL80211_IFTYPE_AP:
|
case NL80211_IFTYPE_AP:
|
||||||
arvif->vdev_type = WMI_VDEV_TYPE_AP;
|
arvif->vdev_type = WMI_VDEV_TYPE_AP;
|
||||||
@ -271,7 +271,7 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
|
|||||||
if (vif->p2p)
|
if (vif->p2p)
|
||||||
arvif->vdev_subtype = WMI_VDEV_SUBTYPE_P2P_GO;
|
arvif->vdev_subtype = WMI_VDEV_SUBTYPE_P2P_GO;
|
||||||
break;
|
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 *ar = hw->priv;
|
||||||
struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif);
|
struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif);
|
||||||
struct ath11k_base *ab = ar->ab;
|
struct ath11k_base *ab = ar->ab;
|
||||||
@ -279,10 +279,8 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
|
|||||||
int ret;
|
int ret;
|
||||||
int i;
|
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) {
|
+ if (vif->type == NL80211_IFTYPE_AP_VLAN) {
|
||||||
+ ath11k_nss_ext_vdev_delete(arvif);
|
+ ath11k_nss_ext_vdev_delete(arvif);
|
||||||
+
|
+
|
||||||
@ -299,12 +297,15 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
|
|||||||
+ goto unlock;
|
+ 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",
|
ath11k_dbg(ab, ATH11K_DBG_MAC, "remove interface (vdev %d)\n",
|
||||||
arvif->vdev_id);
|
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)
|
if (ret)
|
||||||
ath11k_warn(ab, "failed to submit AP self-peer removal on vdev %d: %d\n",
|
ath11k_warn(ab, "failed to submit AP self-peer removal on vdev %d: %d\n",
|
||||||
arvif->vdev_id, ret);
|
arvif->vdev_id, ret);
|
||||||
@ -319,7 +320,7 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret = ath11k_mac_vdev_delete(ar, arvif);
|
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 */
|
/* Recalc txpower for remaining vdev */
|
||||||
ath11k_mac_txpower_recalc(ar);
|
ath11k_mac_txpower_recalc(ar);
|
||||||
|
|
||||||
@ -329,7 +330,7 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
|
|||||||
mutex_unlock(&ar->conf_mutex);
|
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 ieee80211_ampdu_params *params)
|
||||||
{
|
{
|
||||||
struct ath11k *ar = hw->priv;
|
struct ath11k *ar = hw->priv;
|
||||||
@ -349,7 +350,7 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
|
|||||||
break;
|
break;
|
||||||
case IEEE80211_AMPDU_TX_START:
|
case IEEE80211_AMPDU_TX_START:
|
||||||
case IEEE80211_AMPDU_TX_STOP_CONT:
|
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_sta *arsta = ath11k_sta_to_arsta(sta);
|
||||||
struct ath11k *ar = arsta->arvif->ar;
|
struct ath11k *ar = arsta->arvif->ar;
|
||||||
@ -357,7 +358,7 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
|
|||||||
s8 signal;
|
s8 signal;
|
||||||
bool db2dbm = test_bit(WMI_TLV_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT,
|
bool db2dbm = test_bit(WMI_TLV_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT,
|
||||||
ar->ab->wmi_ab.svc_map);
|
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);
|
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_SIGNAL_AVG);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user