diff options
| author | Mingcheng Zhu <mingchen@qca.qualcomm.com> | 2014-06-04 11:33:11 -0700 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-07-16 21:15:08 -0700 |
| commit | dc732eaf59ee8e0339ce70fe2a13a6480d7f5a1a (patch) | |
| tree | e7104d1565abeda5d80918c3260d7ee628ee2aec | |
| parent | a1cea24e157a2fb7d2293eda1885578be95f70f7 (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-x | CORE/HDD/src/wlan_hdd_main.c | 37 |
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 ); |
