wlan: Get sw pta from wcnss driver
Currently sw pta status is getting from ini,
check sw pta status from wcnss driver also and
return the exact sw pta status.
Change-Id: I50837986924aedb6e1b50fc97d99a5b32ca4d5e8
CRs-Fixed: 2837244
diff --git a/CORE/HDD/inc/wlan_hdd_main.h b/CORE/HDD/inc/wlan_hdd_main.h
index d5c1799..5f75d84 100644
--- a/CORE/HDD/inc/wlan_hdd_main.h
+++ b/CORE/HDD/inc/wlan_hdd_main.h
@@ -2437,6 +2437,11 @@
{
return 0;
}
+
+static inline int wcnss_is_sw_pta_enabled(void)
+{
+ return 0;
+}
#endif
#ifdef FEATURE_WLAN_SW_PTA
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 449f77d..541af37 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -99,7 +99,7 @@
#include "qwlan_version.h"
#include "wlan_logging_sock_svc.h"
#include "wlan_hdd_misc.h"
-
+#include <linux/wcnss_wlan.h>
#define g_mode_rates_size (12)
#define a_mode_rates_size (8)
@@ -623,7 +623,8 @@
#ifdef FEATURE_WLAN_SW_PTA
bool hdd_is_sw_pta_enabled(hdd_context_t *hdd_ctx)
{
- return hdd_ctx->cfg_ini->is_sw_pta_enabled;
+ return hdd_ctx->cfg_ini->is_sw_pta_enabled ||
+ wcnss_is_sw_pta_enabled();
}
#endif
diff --git a/CORE/VOSS/src/vos_api.c b/CORE/VOSS/src/vos_api.c
index c547ab9..df77369 100644
--- a/CORE/VOSS/src/vos_api.c
+++ b/CORE/VOSS/src/vos_api.c
@@ -4009,7 +4009,7 @@
return -EINVAL;
}
- if (!hdd_ctx->cfg_ini->is_sw_pta_enabled) {
+ if (!hdd_is_sw_pta_enabled(hdd_ctx)) {
VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR,
"%s: sw pta is not enabled", __func__);
return -EINVAL;