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;