summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMingcheng Zhu <mingchen@qca.qualcomm.com>2014-06-04 11:33:11 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-07-16 21:15:08 -0700
commitdc732eaf59ee8e0339ce70fe2a13a6480d7f5a1a (patch)
treee7104d1565abeda5d80918c3260d7ee628ee2aec
parenta1cea24e157a2fb7d2293eda1885578be95f70f7 (diff)
QCACLD-NEW: Modify HDD to support coexisting end point ping driver
End point ping driver coexists with HDD. The HDD is modified to support this. CRs-Fixed: 657692 Change-Id: Ic814cea4890190daa55c6f105c2abaf2cbbcf8d5
-rwxr-xr-xCORE/HDD/src/wlan_hdd_main.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 0986184faab6..519880b16c00 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -131,6 +131,7 @@ void hdd_ch_avoid_cb(void *hdd_context,void *indi_param);
#endif /* WLAN_FEATURE_NAN */
#include "wlan_hdd_debugfs.h"
+#include "epping_main.h"
#ifdef IPA_OFFLOAD
#include <wlan_hdd_ipa.h>
@@ -10540,6 +10541,12 @@ void __hdd_wlan_exit(void)
//Get the global vos context
pVosContext = vos_get_global_context(VOS_MODULE_ID_SYS, NULL);
+ if (!pVosContext)
+ return;
+ if (WLAN_IS_EPPING_ENABLED(con_mode)) {
+ epping_exit(pVosContext);
+ return;
+ }
if(NULL == pVosContext) {
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_FATAL,
@@ -11239,6 +11246,13 @@ int hdd_wlan_startup(struct device *dev, v_VOID_t *hif_sc)
#endif
ENTER();
+
+ if (WLAN_IS_EPPING_ENABLED(con_mode)) {
+ /* if epping enabled redirect start to epping module */
+ ret = epping_wlan_startup(dev, hif_sc);
+ EXIT();
+ return ret;
+ }
/*
* cfg80211: wiphy allocation
*/
@@ -12324,6 +12338,24 @@ static int hdd_driver_init( void)
}
#endif
+#ifndef MODULE
+ if (WLAN_IS_EPPING_ENABLED(con_mode)) {
+ ret_status = epping_driver_init(con_mode, &wlan_wake_lock,
+ WLAN_MODULE_NAME);
+ if (ret_status < 0)
+ vos_wake_lock_destroy(&wlan_wake_lock);
+ return ret_status;
+ }
+#else
+ if (WLAN_IS_EPPING_ENABLED(hdd_get_conparam())) {
+ ret_status = epping_driver_init(hdd_get_conparam(),
+ &wlan_wake_lock, WLAN_MODULE_NAME);
+ if (ret_status < 0)
+ vos_wake_lock_destroy(&wlan_wake_lock);
+ return ret_status;
+ }
+#endif
+
#ifdef TIMER_MANAGER
vos_timer_manager_init();
#endif
@@ -12481,6 +12513,11 @@ static void hdd_driver_exit(void)
goto done;
}
+ if (WLAN_IS_EPPING_ENABLED(con_mode)) {
+ epping_driver_exit(pVosContext);
+ goto done;
+ }
+
//Get the HDD context.
pHddCtx = (hdd_context_t *)vos_get_context(VOS_MODULE_ID_HDD, pVosContext );