diff options
| author | Randy Chiu <wchiu@qca.qualcomm.com> | 2014-08-11 12:00:23 +0800 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-08-13 11:31:05 -0700 |
| commit | b1aa4e277950995dafcd2254a3a16bdccda4cdb2 (patch) | |
| tree | 9fefd94b8a2a0c8acfa05b362a330511e36bc4e4 | |
| parent | 50f6a46d215216101513a88fdebc5f2ea7e5e01d (diff) | |
qcacld: [HDD]: Deadlock happened duing P2P test
The supplicant will show timeout at the GC side while GO firstly
doing group remove then GC did remove group immediately. The issue
happened while doing flush_scheduled_work in function
hdd_smeCloseSessionCallback. The issue will be resolved with
WLAN_OPEN_SOURCE macro. Add WLAN_OPEN_SOURCE for usb case and add
CONFIG_HAS_WAKELOCK to separate wake_lock related functions for
compile issue on linux kernel.
Change-Id: I432d7fc4b20ad8400c157f6af8e96a877bab0338
CRs-Fixed: 707406
| -rw-r--r-- | CORE/EPPING/inc/epping_internal.h | 2 | ||||
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_main.h | 2 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_early_suspend.c | 2 | ||||
| -rw-r--r-- | CORE/VOSS/inc/i_vos_lock.h | 4 | ||||
| -rw-r--r-- | CORE/VOSS/src/vos_lock.c | 10 | ||||
| -rw-r--r-- | CORE/VOSS/src/vos_sched.h | 2 | ||||
| -rw-r--r-- | Makefile | 3 |
7 files changed, 11 insertions, 14 deletions
diff --git a/CORE/EPPING/inc/epping_internal.h b/CORE/EPPING/inc/epping_internal.h index dbb92ad79f85..2e1d8a0b2a99 100644 --- a/CORE/EPPING/inc/epping_internal.h +++ b/CORE/EPPING/inc/epping_internal.h @@ -46,7 +46,7 @@ #include <linux/spinlock.h> #include <linux/kthread.h> #include <linux/semaphore.h> -#ifdef WLAN_OPEN_SOURCE +#if defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK) #include <linux/wakelock.h> #endif #include <wlan_hdd_ftm.h> diff --git a/CORE/HDD/inc/wlan_hdd_main.h b/CORE/HDD/inc/wlan_hdd_main.h index aa4681382f32..2bcd15968b81 100644 --- a/CORE/HDD/inc/wlan_hdd_main.h +++ b/CORE/HDD/inc/wlan_hdd_main.h @@ -51,7 +51,7 @@ #include <wlan_hdd_wmm.h> #include <wlan_hdd_cfg.h> #include <linux/spinlock.h> -#ifdef WLAN_OPEN_SOURCE +#if defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK) #include <linux/wakelock.h> #endif #include <wlan_hdd_ftm.h> diff --git a/CORE/HDD/src/wlan_hdd_early_suspend.c b/CORE/HDD/src/wlan_hdd_early_suspend.c index 04deaa45954d..08db44645563 100644 --- a/CORE/HDD/src/wlan_hdd_early_suspend.c +++ b/CORE/HDD/src/wlan_hdd_early_suspend.c @@ -45,7 +45,7 @@ #include <linux/cpu.h> #include <wlan_hdd_includes.h> #include <wlan_qct_driver.h> -#ifdef WLAN_OPEN_SOURCE +#if defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK) #include <linux/wakelock.h> #endif #include "halTypes.h" diff --git a/CORE/VOSS/inc/i_vos_lock.h b/CORE/VOSS/inc/i_vos_lock.h index 2418fdacb0c1..a8fc7f8871e9 100644 --- a/CORE/VOSS/inc/i_vos_lock.h +++ b/CORE/VOSS/inc/i_vos_lock.h @@ -46,7 +46,7 @@ #include <linux/spinlock.h> #include <linux/sched.h> #include <linux/device.h> -#ifdef WLAN_OPEN_SOURCE +#if defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK) #include <linux/wakelock.h> #endif @@ -73,7 +73,7 @@ typedef spinlock_t vos_spin_lock_t; #if defined CONFIG_CNSS typedef struct wakeup_source vos_wake_lock_t; -#elif defined WLAN_OPEN_SOURCE +#elif defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK) typedef struct wake_lock vos_wake_lock_t; #else typedef int vos_wake_lock_t; diff --git a/CORE/VOSS/src/vos_lock.c b/CORE/VOSS/src/vos_lock.c index 75e74c4e63c9..be1137d8824e 100644 --- a/CORE/VOSS/src/vos_lock.c +++ b/CORE/VOSS/src/vos_lock.c @@ -500,7 +500,7 @@ VOS_STATUS vos_wake_lock_init(vos_wake_lock_t *pLock, const char *name) { #if defined CONFIG_CNSS cnss_pm_wake_lock_init(pLock, name); -#elif defined WLAN_OPEN_SOURCE +#elif defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK) wake_lock_init(pLock, WAKE_LOCK_SUSPEND, name); #endif return VOS_STATUS_SUCCESS; @@ -519,7 +519,7 @@ VOS_STATUS vos_wake_lock_acquire(vos_wake_lock_t *pLock) { #if defined CONFIG_CNSS cnss_pm_wake_lock(pLock); -#elif defined WLAN_OPEN_SOURCE +#elif defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK) wake_lock(pLock); #endif return VOS_STATUS_SUCCESS; @@ -538,7 +538,7 @@ VOS_STATUS vos_wake_lock_timeout_acquire(vos_wake_lock_t *pLock, v_U32_t msec) { #if defined CONFIG_CNSS cnss_pm_wake_lock_timeout(pLock, msec); -#elif defined WLAN_OPEN_SOURCE +#elif defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK) wake_lock_timeout(pLock, msecs_to_jiffies(msec)); #endif return VOS_STATUS_SUCCESS; @@ -557,7 +557,7 @@ VOS_STATUS vos_wake_lock_release(vos_wake_lock_t *pLock) { #if defined CONFIG_CNSS cnss_pm_wake_lock_release(pLock); -#elif defined WLAN_OPEN_SOURCE +#elif defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK) wake_unlock(pLock); #endif return VOS_STATUS_SUCCESS; @@ -576,7 +576,7 @@ VOS_STATUS vos_wake_lock_destroy(vos_wake_lock_t *pLock) { #if defined CONFIG_CNSS cnss_pm_wake_lock_destroy(pLock); -#elif defined WLAN_OPEN_SOURCE +#elif defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK) wake_lock_destroy(pLock); #endif return VOS_STATUS_SUCCESS; diff --git a/CORE/VOSS/src/vos_sched.h b/CORE/VOSS/src/vos_sched.h index 71cc495307ca..d3a4dec13421 100644 --- a/CORE/VOSS/src/vos_sched.h +++ b/CORE/VOSS/src/vos_sched.h @@ -69,7 +69,7 @@ #include "i_vos_types.h" #include "i_vos_packet.h" #include <linux/wait.h> -#ifdef WLAN_OPEN_SOURCE +#if defined(WLAN_OPEN_SOURCE) && defined(CONFIG_HAS_WAKELOCK) #include <linux/wakelock.h> #endif #include <vos_mq.h> @@ -9,9 +9,6 @@ KBUILD_OPTIONS += MODNAME=wlan LICENSE_FILE ?= $(PWD)/$(WLAN_ROOT)/CORE/HDD/src/wlan_hdd_main.c WLAN_OPEN_SOURCE = $(shell if grep -q "MODULE_LICENSE(\"Dual BSD/GPL\")" \ $(LICENSE_FILE); then echo 1; else echo 0; fi) -ifeq ($(CONFIG_ROME_IF),usb) - WLAN_OPEN_SOURCE = 0 -endif #By default build for CLD WLAN_SELECT := CONFIG_QCA_CLD_WLAN=m |
