wlan: Pass proper values to bit manipulation methods to avoid panic
Observed kernel panic due to improper arguments passed to kernel bit
manipulation functions (like set_bit, clear_bit etc.) i.e these
functions expects bit positions as its first argument but bit mask
values are being passed.
To fix these issues ensure below points:
- Pass bit position as a first argument to bit manipulation
functions.
- Re-define MACROs which gives false impression of bit mask values
with their naming convention.
Change-Id: Ief8cd83b05f01a0926f91c0e9fb461ddd498e05e
CRs-Fixed: 981050
diff --git a/CORE/HDD/src/wlan_hdd_dev_pwr.c b/CORE/HDD/src/wlan_hdd_dev_pwr.c
index ac13eb6..17d0647 100644
--- a/CORE/HDD/src/wlan_hdd_dev_pwr.c
+++ b/CORE/HDD/src/wlan_hdd_dev_pwr.c
@@ -178,7 +178,7 @@
INIT_COMPLETION(pHddCtx->tx_sus_event_var);
/* Indicate Tx Thread to Suspend */
- set_bit(TX_SUSPEND_EVENT_MASK, &vosSchedContext->txEventFlag);
+ set_bit(TX_SUSPEND_EVENT, &vosSchedContext->txEventFlag);
wake_up_interruptible(&vosSchedContext->txWaitQueue);
@@ -196,7 +196,7 @@
* Thread then it means it is going to suspend, so do not return failure
* from here.
*/
- if (!test_and_clear_bit(TX_SUSPEND_EVENT_MASK,
+ if (!test_and_clear_bit(TX_SUSPEND_EVENT,
&vosSchedContext->txEventFlag))
{
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
@@ -225,7 +225,7 @@
INIT_COMPLETION(pHddCtx->rx_sus_event_var);
/* Indicate Rx Thread to Suspend */
- set_bit(RX_SUSPEND_EVENT_MASK, &vosSchedContext->rxEventFlag);
+ set_bit(RX_SUSPEND_EVENT, &vosSchedContext->rxEventFlag);
wake_up_interruptible(&vosSchedContext->rxWaitQueue);
@@ -242,7 +242,7 @@
* Thread then it means it is going to suspend, so do not return failure
* from here.
*/
- if (!test_and_clear_bit(RX_SUSPEND_EVENT_MASK,
+ if (!test_and_clear_bit(RX_SUSPEND_EVENT,
&vosSchedContext->rxEventFlag))
{
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
@@ -278,7 +278,7 @@
INIT_COMPLETION(pHddCtx->mc_sus_event_var);
/* Indicate MC Thread to Suspend */
- set_bit(MC_SUSPEND_EVENT_MASK, &vosSchedContext->mcEventFlag);
+ set_bit(MC_SUSPEND_EVENT, &vosSchedContext->mcEventFlag);
wake_up_interruptible(&vosSchedContext->mcWaitQueue);
@@ -297,7 +297,7 @@
* Thread then it means it is going to suspend, so do not return failure
* from here.
*/
- if (!test_and_clear_bit(MC_SUSPEND_EVENT_MASK,
+ if (!test_and_clear_bit(MC_SUSPEND_EVENT,
&vosSchedContext->mcEventFlag))
{
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
diff --git a/CORE/HDD/src/wlan_hdd_early_suspend.c b/CORE/HDD/src/wlan_hdd_early_suspend.c
index ee589d1..c8a255c 100644
--- a/CORE/HDD/src/wlan_hdd_early_suspend.c
+++ b/CORE/HDD/src/wlan_hdd_early_suspend.c
@@ -2011,22 +2011,22 @@
*/
/* Wait for MC to exit */
hddLog(VOS_TRACE_LEVEL_FATAL, "%s: Shutting down MC thread",__func__);
- set_bit(MC_SHUTDOWN_EVENT_MASK, &vosSchedContext->mcEventFlag);
- set_bit(MC_POST_EVENT_MASK, &vosSchedContext->mcEventFlag);
+ set_bit(MC_SHUTDOWN_EVENT, &vosSchedContext->mcEventFlag);
+ set_bit(MC_POST_EVENT, &vosSchedContext->mcEventFlag);
wake_up_interruptible(&vosSchedContext->mcWaitQueue);
wait_for_completion(&vosSchedContext->McShutdown);
/* Wait for TX to exit */
hddLog(VOS_TRACE_LEVEL_FATAL, "%s: Shutting down TX thread",__func__);
- set_bit(TX_SHUTDOWN_EVENT_MASK, &vosSchedContext->txEventFlag);
- set_bit(TX_POST_EVENT_MASK, &vosSchedContext->txEventFlag);
+ set_bit(TX_SHUTDOWN_EVENT, &vosSchedContext->txEventFlag);
+ set_bit(TX_POST_EVENT, &vosSchedContext->txEventFlag);
wake_up_interruptible(&vosSchedContext->txWaitQueue);
wait_for_completion(&vosSchedContext->TxShutdown);
/* Wait for RX to exit */
hddLog(VOS_TRACE_LEVEL_FATAL, "%s: Shutting down RX thread",__func__);
- set_bit(RX_SHUTDOWN_EVENT_MASK, &vosSchedContext->rxEventFlag);
- set_bit(RX_POST_EVENT_MASK, &vosSchedContext->rxEventFlag);
+ set_bit(RX_SHUTDOWN_EVENT, &vosSchedContext->rxEventFlag);
+ set_bit(RX_POST_EVENT, &vosSchedContext->rxEventFlag);
wake_up_interruptible(&vosSchedContext->rxWaitQueue);
wait_for_completion(&vosSchedContext->RxShutdown);
diff --git a/CORE/SVC/src/logging/wlan_logging_sock_svc.c b/CORE/SVC/src/logging/wlan_logging_sock_svc.c
index 651f65a..854fde0 100644
--- a/CORE/SVC/src/logging/wlan_logging_sock_svc.c
+++ b/CORE/SVC/src/logging/wlan_logging_sock_svc.c
@@ -58,13 +58,13 @@
#define MAX_PKTSTATS_LOG_LENGTH 2048
#define MAX_LOGMSG_LENGTH 4096
-#define LOGGER_MGMT_DATA_PKT_POST_MASK 0x001
-#define HOST_LOG_POST_MASK 0x002
-#define LOGGER_FW_LOG_PKT_POST_MASK 0x003
-#define LOGGER_FATAL_EVENT_POST_MASK 0x004
-#define LOGGER_FW_MEM_DUMP_PKT_POST_MASK 0x005
-#define LOGGER_FW_MEM_DUMP_PKT_POST_DONE_MASK 0x006
-#define HOST_PKT_STATS_POST_MASK 0x008
+#define LOGGER_MGMT_DATA_PKT_POST 0x001
+#define HOST_LOG_POST 0x002
+#define LOGGER_FW_LOG_PKT_POST 0x003
+#define LOGGER_FATAL_EVENT_POST 0x004
+#define LOGGER_FW_MEM_DUMP_PKT_POST 0x005
+#define LOGGER_FW_MEM_DUMP_PKT_POST_DONE 0x006
+#define HOST_PKT_STATS_POST 0x008
#define LOGGER_MAX_DATA_MGMT_PKT_Q_LEN (8)
@@ -543,7 +543,7 @@
/* If there is logger app registered wakeup the logging
* thread
*/
- set_bit(HOST_PKT_STATS_POST_MASK, &gwlan_logging.event_flag);
+ set_bit(HOST_PKT_STATS_POST, &gwlan_logging.event_flag);
wake_up_interruptible(&gwlan_logging.wait_queue);
}
}
@@ -558,7 +558,7 @@
wlan_queue_pkt_stats_for_app();
}
spin_unlock_irqrestore(&gwlan_logging.pkt_stats_lock, flags);
- set_bit(HOST_PKT_STATS_POST_MASK, &gwlan_logging.event_flag);
+ set_bit(HOST_PKT_STATS_POST, &gwlan_logging.event_flag);
wake_up_interruptible(&gwlan_logging.wait_queue);
}
@@ -653,7 +653,7 @@
* thread
*/
- set_bit(HOST_LOG_POST_MASK, &gwlan_logging.event_flag);
+ set_bit(HOST_LOG_POST, &gwlan_logging.event_flag);
wake_up_interruptible(&gwlan_logging.wait_queue);
}
@@ -1162,17 +1162,17 @@
while (!gwlan_logging.exit) {
ret_wait_status = wait_event_interruptible(
gwlan_logging.wait_queue,
- (test_bit(HOST_LOG_POST_MASK, &gwlan_logging.event_flag) ||
+ (test_bit(HOST_LOG_POST, &gwlan_logging.event_flag) ||
gwlan_logging.exit ||
- test_bit(LOGGER_MGMT_DATA_PKT_POST_MASK,
+ test_bit(LOGGER_MGMT_DATA_PKT_POST,
&gwlan_logging.event_flag) ||
- test_bit(LOGGER_FW_LOG_PKT_POST_MASK,
+ test_bit(LOGGER_FW_LOG_PKT_POST,
&gwlan_logging.event_flag) ||
- test_bit(LOGGER_FATAL_EVENT_POST_MASK,
+ test_bit(LOGGER_FATAL_EVENT_POST,
&gwlan_logging.event_flag) ||
- test_bit(LOGGER_FW_MEM_DUMP_PKT_POST_MASK,&gwlan_logging.event_flag) ||
- test_bit(LOGGER_FW_MEM_DUMP_PKT_POST_DONE_MASK, &gwlan_logging.event_flag)||
- test_bit(HOST_PKT_STATS_POST_MASK,
+ test_bit(LOGGER_FW_MEM_DUMP_PKT_POST, &gwlan_logging.event_flag) ||
+ test_bit(LOGGER_FW_MEM_DUMP_PKT_POST_DONE, &gwlan_logging.event_flag)||
+ test_bit(HOST_PKT_STATS_POST,
&gwlan_logging.event_flag)));
if (ret_wait_status == -ERESTARTSYS) {
@@ -1184,7 +1184,7 @@
break;
}
- if (test_and_clear_bit(HOST_LOG_POST_MASK,
+ if (test_and_clear_bit(HOST_LOG_POST,
&gwlan_logging.event_flag)) {
ret = send_filled_buffers_to_user();
if (-ENOMEM == ret) {
@@ -1197,17 +1197,17 @@
}
}
- if (test_and_clear_bit(LOGGER_FW_LOG_PKT_POST_MASK,
+ if (test_and_clear_bit(LOGGER_FW_LOG_PKT_POST,
&gwlan_logging.event_flag)) {
send_fw_log_pkt_to_user();
}
- if (test_and_clear_bit(LOGGER_MGMT_DATA_PKT_POST_MASK,
+ if (test_and_clear_bit(LOGGER_MGMT_DATA_PKT_POST,
&gwlan_logging.event_flag)) {
send_data_mgmt_log_pkt_to_user();
}
- if (test_and_clear_bit(LOGGER_FATAL_EVENT_POST_MASK,
+ if (test_and_clear_bit(LOGGER_FATAL_EVENT_POST,
&gwlan_logging.event_flag)) {
if (gwlan_logging.log_complete.is_flush_complete == true) {
gwlan_logging.log_complete.is_flush_complete = false;
@@ -1221,18 +1221,18 @@
wlan_queue_logmsg_for_app();
spin_unlock_irqrestore(&gwlan_logging.spin_lock, flags);
- set_bit(HOST_LOG_POST_MASK,&gwlan_logging.event_flag);
- set_bit(LOGGER_FW_LOG_PKT_POST_MASK,&gwlan_logging.event_flag);
- set_bit(LOGGER_FATAL_EVENT_POST_MASK,&gwlan_logging.event_flag);
+ set_bit(HOST_LOG_POST,&gwlan_logging.event_flag);
+ set_bit(LOGGER_FW_LOG_PKT_POST, &gwlan_logging.event_flag);
+ set_bit(LOGGER_FATAL_EVENT_POST, &gwlan_logging.event_flag);
wake_up_interruptible(&gwlan_logging.wait_queue);
}
}
- if (test_and_clear_bit(LOGGER_FW_MEM_DUMP_PKT_POST_MASK,
+ if (test_and_clear_bit(LOGGER_FW_MEM_DUMP_PKT_POST,
&gwlan_logging.event_flag)) {
fill_fw_mem_dump_buffer();
}
- if(test_and_clear_bit(LOGGER_FW_MEM_DUMP_PKT_POST_DONE_MASK,&gwlan_logging.event_flag)){
+ if(test_and_clear_bit(LOGGER_FW_MEM_DUMP_PKT_POST_DONE, &gwlan_logging.event_flag)){
spin_lock_irqsave(&gwlan_logging.fw_mem_dump_ctx.fw_mem_dump_lock,flags);
/*Chnage fw memory dump to indicate write done*/
gwlan_logging.fw_mem_dump_ctx.fw_mem_dump_status = FW_MEM_DUMP_WRITE_DONE;
@@ -1260,7 +1260,7 @@
}
}
- if (test_and_clear_bit(HOST_PKT_STATS_POST_MASK,
+ if (test_and_clear_bit(HOST_PKT_STATS_POST,
&gwlan_logging.event_flag)) {
send_per_pkt_stats_to_user();
}
@@ -1316,7 +1316,7 @@
}
spin_unlock_irqrestore(&gwlan_logging.spin_lock, flags);
- set_bit(HOST_LOG_POST_MASK, &gwlan_logging.event_flag);
+ set_bit(HOST_LOG_POST, &gwlan_logging.event_flag);
wake_up_interruptible(&gwlan_logging.wait_queue);
} else {
/* This is to set the default levels (WLAN logging
@@ -1490,11 +1490,11 @@
gwlan_logging.pkt_stats_enabled = false;
init_waitqueue_head(&gwlan_logging.wait_queue);
gwlan_logging.exit = false;
- clear_bit(HOST_LOG_POST_MASK, &gwlan_logging.event_flag);
- clear_bit(LOGGER_MGMT_DATA_PKT_POST_MASK, &gwlan_logging.event_flag);
- clear_bit(LOGGER_FW_LOG_PKT_POST_MASK, &gwlan_logging.event_flag);
- clear_bit(LOGGER_FATAL_EVENT_POST_MASK, &gwlan_logging.event_flag);
- clear_bit(HOST_PKT_STATS_POST_MASK, &gwlan_logging.event_flag);
+ clear_bit(HOST_LOG_POST, &gwlan_logging.event_flag);
+ clear_bit(LOGGER_MGMT_DATA_PKT_POST, &gwlan_logging.event_flag);
+ clear_bit(LOGGER_FW_LOG_PKT_POST, &gwlan_logging.event_flag);
+ clear_bit(LOGGER_FATAL_EVENT_POST, &gwlan_logging.event_flag);
+ clear_bit(HOST_PKT_STATS_POST, &gwlan_logging.event_flag);
init_completion(&gwlan_logging.shutdown_comp);
gwlan_logging.thread = kthread_create(wlan_logging_thread, NULL,
"wlan_logging_thread");
@@ -1680,7 +1680,7 @@
spin_unlock_irqrestore(&gwlan_logging.data_mgmt_pkt_lock, flags);
- set_bit(LOGGER_MGMT_DATA_PKT_POST_MASK, &gwlan_logging.event_flag);
+ set_bit(LOGGER_MGMT_DATA_PKT_POST, &gwlan_logging.event_flag);
wake_up_interruptible(&gwlan_logging.wait_queue);
return VOS_STATUS_SUCCESS;
@@ -1745,7 +1745,7 @@
spin_unlock_irqrestore(&gwlan_logging.fw_log_pkt_lock, flags);
- set_bit(LOGGER_FW_LOG_PKT_POST_MASK, &gwlan_logging.event_flag);
+ set_bit(LOGGER_FW_LOG_PKT_POST, &gwlan_logging.event_flag);
wake_up_interruptible(&gwlan_logging.wait_queue);
return VOS_STATUS_SUCCESS;
@@ -1799,7 +1799,7 @@
spin_unlock_irqrestore(&gwlan_logging.fw_mem_dump_ctx.fw_mem_dump_lock, flags);
- set_bit(LOGGER_FW_MEM_DUMP_PKT_POST_MASK, &gwlan_logging.event_flag);
+ set_bit(LOGGER_FW_MEM_DUMP_PKT_POST, &gwlan_logging.event_flag);
wake_up_interruptible(&gwlan_logging.wait_queue);
return VOS_STATUS_SUCCESS;
@@ -1854,7 +1854,7 @@
{
pr_info("%s: Setting LOGGER_FATAL_EVENT %d\n",
__func__, reason_code);
- set_bit(LOGGER_FATAL_EVENT_POST_MASK, &gwlan_logging.event_flag);
+ set_bit(LOGGER_FATAL_EVENT_POST, &gwlan_logging.event_flag);
wake_up_interruptible(&gwlan_logging.wait_queue);
}
return;
@@ -1867,7 +1867,7 @@
{
pr_info("%s: Setting LOGGER_FATAL_EVENT %d\n",
__func__, reason_code);
- set_bit(LOGGER_FATAL_EVENT_POST_MASK, &gwlan_logging.event_flag);
+ set_bit(LOGGER_FATAL_EVENT_POST, &gwlan_logging.event_flag);
wake_up_interruptible(&gwlan_logging.wait_queue);
}
else
@@ -1904,14 +1904,14 @@
wlan_set_log_completion(WLAN_LOG_TYPE_FATAL,
WLAN_LOG_INDICATOR_FIRMWARE,
reason_code);
- set_bit(LOGGER_FATAL_EVENT_POST_MASK, &gwlan_logging.event_flag);
+ set_bit(LOGGER_FATAL_EVENT_POST, &gwlan_logging.event_flag);
wake_up_interruptible(&gwlan_logging.wait_queue);
}
}
if(type == WLAN_FW_MEMORY_DUMP)
{
pr_info("%s: Setting FW MEM DUMP LOGGER event\n", __func__);
- set_bit(LOGGER_FW_MEM_DUMP_PKT_POST_DONE_MASK, &gwlan_logging.event_flag);
+ set_bit(LOGGER_FW_MEM_DUMP_PKT_POST_DONE, &gwlan_logging.event_flag);
wake_up_interruptible(&gwlan_logging.wait_queue);
}
}
@@ -1924,14 +1924,14 @@
unsigned long flags;
if (wlan_is_log_report_in_progress()) {
- pr_info("%s:flush all host logs Setting HOST_LOG_POST_MASK\n",
+ pr_info("%s:flush all host logs Setting HOST_LOG_POST\n",
__func__);
spin_lock_irqsave(&gwlan_logging.spin_lock, flags);
wlan_queue_logmsg_for_app();
spin_unlock_irqrestore(&gwlan_logging.spin_lock, flags);
- set_bit(HOST_LOG_POST_MASK, &gwlan_logging.event_flag);
+ set_bit(HOST_LOG_POST, &gwlan_logging.event_flag);
wake_up_interruptible(&gwlan_logging.wait_queue);
}
}
diff --git a/CORE/VOSS/src/vos_api.c b/CORE/VOSS/src/vos_api.c
index bc2b2dc..603d955 100644
--- a/CORE/VOSS/src/vos_api.c
+++ b/CORE/VOSS/src/vos_api.c
@@ -2113,7 +2113,7 @@
vos_mq_put(pTargetMq, pMsgWrapper);
- set_bit(MC_POST_EVENT_MASK, &gpVosContext->vosSched.mcEventFlag);
+ set_bit(MC_POST_EVENT, &gpVosContext->vosSched.mcEventFlag);
wake_up_interruptible(&gpVosContext->vosSched.mcWaitQueue);
return VOS_STATUS_SUCCESS;
@@ -2257,7 +2257,7 @@
vos_mq_put_front(pTargetMq, pMsgWrapper);
- set_bit(MC_POST_EVENT_MASK, &gpVosContext->vosSched.mcEventFlag);
+ set_bit(MC_POST_EVENT, &gpVosContext->vosSched.mcEventFlag);
wake_up_interruptible(&gpVosContext->vosSched.mcWaitQueue);
return VOS_STATUS_SUCCESS;
@@ -2384,7 +2384,7 @@
vos_mq_put(pTargetMq, pMsgWrapper);
- set_bit(TX_POST_EVENT_MASK, &gpVosContext->vosSched.txEventFlag);
+ set_bit(TX_POST_EVENT, &gpVosContext->vosSched.txEventFlag);
wake_up_interruptible(&gpVosContext->vosSched.txWaitQueue);
return VOS_STATUS_SUCCESS;
@@ -2507,7 +2507,7 @@
vos_mq_put(pTargetMq, pMsgWrapper);
- set_bit(RX_POST_EVENT_MASK, &gpVosContext->vosSched.rxEventFlag);
+ set_bit(RX_POST_EVENT, &gpVosContext->vosSched.rxEventFlag);
wake_up_interruptible(&gpVosContext->vosSched.rxWaitQueue);
return VOS_STATUS_SUCCESS;
diff --git a/CORE/VOSS/src/vos_sched.c b/CORE/VOSS/src/vos_sched.c
index eb9fbc3..445096a 100644
--- a/CORE/VOSS/src/vos_sched.c
+++ b/CORE/VOSS/src/vos_sched.c
@@ -251,16 +251,16 @@
RX_THREAD_START_FAILURE:
//Try and force the Tx thread controller to exit
- set_bit(MC_SHUTDOWN_EVENT_MASK, &pSchedContext->txEventFlag);
- set_bit(MC_POST_EVENT_MASK, &pSchedContext->txEventFlag);
+ set_bit(MC_SHUTDOWN_EVENT, &pSchedContext->txEventFlag);
+ set_bit(MC_POST_EVENT, &pSchedContext->txEventFlag);
wake_up_interruptible(&pSchedContext->txWaitQueue);
//Wait for TX to exit
wait_for_completion_interruptible(&pSchedContext->TxShutdown);
TX_THREAD_START_FAILURE:
//Try and force the Main thread controller to exit
- set_bit(MC_SHUTDOWN_EVENT_MASK, &pSchedContext->mcEventFlag);
- set_bit(MC_POST_EVENT_MASK, &pSchedContext->mcEventFlag);
+ set_bit(MC_SHUTDOWN_EVENT, &pSchedContext->mcEventFlag);
+ set_bit(MC_POST_EVENT, &pSchedContext->mcEventFlag);
wake_up_interruptible(&pSchedContext->mcWaitQueue);
//Wait for MC to exit
wait_for_completion_interruptible(&pSchedContext->McShutdown);
@@ -391,8 +391,8 @@
{
// This implements the execution model algorithm
retWaitStatus = wait_event_interruptible(pSchedContext->mcWaitQueue,
- test_bit(MC_POST_EVENT_MASK, &pSchedContext->mcEventFlag) ||
- test_bit(MC_SUSPEND_EVENT_MASK, &pSchedContext->mcEventFlag));
+ test_bit(MC_POST_EVENT, &pSchedContext->mcEventFlag) ||
+ test_bit(MC_SUSPEND_EVENT, &pSchedContext->mcEventFlag));
if(retWaitStatus == -ERESTARTSYS)
{
@@ -400,18 +400,18 @@
"%s: wait_event_interruptible returned -ERESTARTSYS", __func__);
break;
}
- clear_bit(MC_POST_EVENT_MASK, &pSchedContext->mcEventFlag);
+ clear_bit(MC_POST_EVENT, &pSchedContext->mcEventFlag);
while(1)
{
// Check if MC needs to shutdown
- if(test_bit(MC_SHUTDOWN_EVENT_MASK, &pSchedContext->mcEventFlag))
+ if(test_bit(MC_SHUTDOWN_EVENT, &pSchedContext->mcEventFlag))
{
VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_INFO,
"%s: MC thread signaled to shutdown", __func__);
shutdown = VOS_TRUE;
/* Check for any Suspend Indication */
- if (test_and_clear_bit(MC_SUSPEND_EVENT_MASK,
+ if (test_and_clear_bit(MC_SUSPEND_EVENT,
&pSchedContext->mcEventFlag))
{
/* Unblock anyone waiting on suspend */
@@ -604,7 +604,7 @@
continue;
}
/* Check for any Suspend Indication */
- if (test_and_clear_bit(MC_SUSPEND_EVENT_MASK,
+ if (test_and_clear_bit(MC_SUSPEND_EVENT,
&pSchedContext->mcEventFlag))
{
spin_lock(&pSchedContext->McThreadLock);
@@ -731,9 +731,9 @@
if (!(vos_is_logp_in_progress(VOS_MODULE_ID_SYS, NULL) ||
vos_is_load_unload_in_progress(VOS_MODULE_ID_SYS, NULL)))
{
- set_bit(WD_WLAN_DETECT_THREAD_STUCK_MASK,
+ set_bit(WD_WLAN_DETECT_THREAD_STUCK,
&gpVosWatchdogContext->wdEventFlag);
- set_bit(WD_POST_EVENT_MASK, &gpVosWatchdogContext->wdEventFlag);
+ set_bit(WD_POST_EVENT, &gpVosWatchdogContext->wdEventFlag);
wake_up_interruptible(&gpVosWatchdogContext->wdWaitQueue);
}
}
@@ -840,19 +840,19 @@
{
// This implements the Watchdog execution model algorithm
retWaitStatus = wait_event_interruptible(pWdContext->wdWaitQueue,
- test_bit(WD_POST_EVENT_MASK, &pWdContext->wdEventFlag));
+ test_bit(WD_POST_EVENT, &pWdContext->wdEventFlag));
if(retWaitStatus == -ERESTARTSYS)
{
VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR,
"%s: wait_event_interruptible returned -ERESTARTSYS", __func__);
break;
}
- clear_bit(WD_POST_EVENT_MASK, &pWdContext->wdEventFlag);
+ clear_bit(WD_POST_EVENT, &pWdContext->wdEventFlag);
while(1)
{
/* Post Msg to detect thread stuck. */
- if (test_and_clear_bit(WD_WLAN_DETECT_THREAD_STUCK_MASK,
+ if (test_and_clear_bit(WD_WLAN_DETECT_THREAD_STUCK,
&pWdContext->wdEventFlag))
{
vos_wd_detect_thread_stuck();
@@ -890,20 +890,20 @@
__func__, atomic_read(&ssr_protect_entry_count));
}
// Check if Watchdog needs to shutdown
- if(test_bit(WD_SHUTDOWN_EVENT_MASK, &pWdContext->wdEventFlag))
+ if(test_bit(WD_SHUTDOWN_EVENT, &pWdContext->wdEventFlag))
{
VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_INFO,
"%s: Watchdog thread signaled to shutdown", __func__);
- clear_bit(WD_SHUTDOWN_EVENT_MASK, &pWdContext->wdEventFlag);
+ clear_bit(WD_SHUTDOWN_EVENT, &pWdContext->wdEventFlag);
shutdown = VOS_TRUE;
break;
}
/* subsystem restart: shutdown event handler */
- else if(test_bit(WD_WLAN_SHUTDOWN_EVENT_MASK, &pWdContext->wdEventFlag))
+ else if(test_bit(WD_WLAN_SHUTDOWN_EVENT, &pWdContext->wdEventFlag))
{
VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_FATAL,
"%s: Watchdog thread signaled to perform WLAN shutdown",__func__);
- clear_bit(WD_WLAN_SHUTDOWN_EVENT_MASK, &pWdContext->wdEventFlag);
+ clear_bit(WD_WLAN_SHUTDOWN_EVENT, &pWdContext->wdEventFlag);
//Perform WLAN shutdown
if(!pWdContext->resetInProgress)
@@ -921,11 +921,11 @@
}
}
/* subsystem restart: re-init event handler */
- else if(test_bit(WD_WLAN_REINIT_EVENT_MASK, &pWdContext->wdEventFlag))
+ else if(test_bit(WD_WLAN_REINIT_EVENT, &pWdContext->wdEventFlag))
{
VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_FATAL,
"%s: Watchdog thread signaled to perform WLAN re-init",__func__);
- clear_bit(WD_WLAN_REINIT_EVENT_MASK, &pWdContext->wdEventFlag);
+ clear_bit(WD_WLAN_REINIT_EVENT, &pWdContext->wdEventFlag);
//Perform WLAN re-init
if(!pWdContext->resetInProgress)
@@ -1038,8 +1038,8 @@
{
// This implements the execution model algorithm
retWaitStatus = wait_event_interruptible(pSchedContext->txWaitQueue,
- test_bit(TX_POST_EVENT_MASK, &pSchedContext->txEventFlag) ||
- test_bit(TX_SUSPEND_EVENT_MASK, &pSchedContext->txEventFlag));
+ test_bit(TX_POST_EVENT, &pSchedContext->txEventFlag) ||
+ test_bit(TX_SUSPEND_EVENT, &pSchedContext->txEventFlag));
if(retWaitStatus == -ERESTARTSYS)
@@ -1048,17 +1048,17 @@
"%s: wait_event_interruptible returned -ERESTARTSYS", __func__);
break;
}
- clear_bit(TX_POST_EVENT_MASK, &pSchedContext->txEventFlag);
+ clear_bit(TX_POST_EVENT, &pSchedContext->txEventFlag);
while(1)
{
- if(test_bit(TX_SHUTDOWN_EVENT_MASK, &pSchedContext->txEventFlag))
+ if(test_bit(TX_SHUTDOWN_EVENT, &pSchedContext->txEventFlag))
{
VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_INFO,
"%s: TX thread signaled to shutdown", __func__);
shutdown = VOS_TRUE;
/* Check for any Suspend Indication */
- if (test_and_clear_bit(TX_SUSPEND_EVENT_MASK,
+ if (test_and_clear_bit(TX_SUSPEND_EVENT,
&pSchedContext->txEventFlag))
{
/* Unblock anyone waiting on suspend */
@@ -1148,7 +1148,7 @@
continue;
}
/* Check for any Suspend Indication */
- if (test_and_clear_bit(TX_SUSPEND_EVENT_MASK,
+ if (test_and_clear_bit(TX_SUSPEND_EVENT,
&pSchedContext->txEventFlag))
{
spin_lock(&pSchedContext->TxThreadLock);
@@ -1231,8 +1231,8 @@
{
// This implements the execution model algorithm
retWaitStatus = wait_event_interruptible(pSchedContext->rxWaitQueue,
- test_bit(RX_POST_EVENT_MASK, &pSchedContext->rxEventFlag) ||
- test_bit(RX_SUSPEND_EVENT_MASK, &pSchedContext->rxEventFlag));
+ test_bit(RX_POST_EVENT, &pSchedContext->rxEventFlag) ||
+ test_bit(RX_SUSPEND_EVENT, &pSchedContext->rxEventFlag));
if(retWaitStatus == -ERESTARTSYS)
@@ -1241,17 +1241,17 @@
"%s: wait_event_interruptible returned -ERESTARTSYS", __func__);
break;
}
- clear_bit(RX_POST_EVENT_MASK, &pSchedContext->rxEventFlag);
+ clear_bit(RX_POST_EVENT, &pSchedContext->rxEventFlag);
while(1)
{
- if(test_bit(RX_SHUTDOWN_EVENT_MASK, &pSchedContext->rxEventFlag))
+ if(test_bit(RX_SHUTDOWN_EVENT, &pSchedContext->rxEventFlag))
{
VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_INFO,
"%s: RX thread signaled to shutdown", __func__);
shutdown = VOS_TRUE;
/* Check for any Suspend Indication */
- if (test_and_clear_bit(RX_SUSPEND_EVENT_MASK,
+ if (test_and_clear_bit(RX_SUSPEND_EVENT,
&pSchedContext->rxEventFlag))
{
/* Unblock anyone waiting on suspend */
@@ -1347,7 +1347,7 @@
}
/* Check for any Suspend Indication */
- if (test_and_clear_bit(RX_SUSPEND_EVENT_MASK,
+ if (test_and_clear_bit(RX_SUSPEND_EVENT,
&pSchedContext->rxEventFlag))
{
spin_lock(&pSchedContext->RxThreadLock);
@@ -1397,24 +1397,24 @@
}
// shut down MC Thread
- set_bit(MC_SHUTDOWN_EVENT_MASK, &gpVosSchedContext->mcEventFlag);
- set_bit(MC_POST_EVENT_MASK, &gpVosSchedContext->mcEventFlag);
+ set_bit(MC_SHUTDOWN_EVENT, &gpVosSchedContext->mcEventFlag);
+ set_bit(MC_POST_EVENT, &gpVosSchedContext->mcEventFlag);
wake_up_interruptible(&gpVosSchedContext->mcWaitQueue);
//Wait for MC to exit
wait_for_completion(&gpVosSchedContext->McShutdown);
gpVosSchedContext->McThread = 0;
// shut down TX Thread
- set_bit(TX_SHUTDOWN_EVENT_MASK, &gpVosSchedContext->txEventFlag);
- set_bit(TX_POST_EVENT_MASK, &gpVosSchedContext->txEventFlag);
+ set_bit(TX_SHUTDOWN_EVENT, &gpVosSchedContext->txEventFlag);
+ set_bit(TX_POST_EVENT, &gpVosSchedContext->txEventFlag);
wake_up_interruptible(&gpVosSchedContext->txWaitQueue);
//Wait for TX to exit
wait_for_completion(&gpVosSchedContext->TxShutdown);
gpVosSchedContext->TxThread = 0;
// shut down RX Thread
- set_bit(RX_SHUTDOWN_EVENT_MASK, &gpVosSchedContext->rxEventFlag);
- set_bit(RX_POST_EVENT_MASK, &gpVosSchedContext->rxEventFlag);
+ set_bit(RX_SHUTDOWN_EVENT, &gpVosSchedContext->rxEventFlag);
+ set_bit(RX_POST_EVENT, &gpVosSchedContext->rxEventFlag);
wake_up_interruptible(&gpVosSchedContext->rxWaitQueue);
//Wait for RX to exit
wait_for_completion(&gpVosSchedContext->RxShutdown);
@@ -1441,8 +1441,8 @@
"%s: gpVosWatchdogContext is NULL",__func__);
return VOS_STATUS_E_FAILURE;
}
- set_bit(WD_SHUTDOWN_EVENT_MASK, &gpVosWatchdogContext->wdEventFlag);
- set_bit(WD_POST_EVENT_MASK, &gpVosWatchdogContext->wdEventFlag);
+ set_bit(WD_SHUTDOWN_EVENT, &gpVosWatchdogContext->wdEventFlag);
+ set_bit(WD_POST_EVENT, &gpVosWatchdogContext->wdEventFlag);
wake_up_interruptible(&gpVosWatchdogContext->wdWaitQueue);
//Wait for Watchdog thread to exit
wait_for_completion(&gpVosWatchdogContext->WdShutdown);
@@ -2072,8 +2072,8 @@
}
#endif
- set_bit(WD_WLAN_SHUTDOWN_EVENT_MASK, &gpVosWatchdogContext->wdEventFlag);
- set_bit(WD_POST_EVENT_MASK, &gpVosWatchdogContext->wdEventFlag);
+ set_bit(WD_WLAN_SHUTDOWN_EVENT, &gpVosWatchdogContext->wdEventFlag);
+ set_bit(WD_POST_EVENT, &gpVosWatchdogContext->wdEventFlag);
wake_up_interruptible(&gpVosWatchdogContext->wdWaitQueue);
return VOS_STATUS_SUCCESS;
@@ -2095,8 +2095,8 @@
VOS_STATUS vos_watchdog_wlan_re_init(void)
{
/* watchdog task is still running, it is not closed in shutdown */
- set_bit(WD_WLAN_REINIT_EVENT_MASK, &gpVosWatchdogContext->wdEventFlag);
- set_bit(WD_POST_EVENT_MASK, &gpVosWatchdogContext->wdEventFlag);
+ set_bit(WD_WLAN_REINIT_EVENT, &gpVosWatchdogContext->wdEventFlag);
+ set_bit(WD_POST_EVENT, &gpVosWatchdogContext->wdEventFlag);
wake_up_interruptible(&gpVosWatchdogContext->wdWaitQueue);
return VOS_STATUS_SUCCESS;
diff --git a/CORE/VOSS/src/vos_sched.h b/CORE/VOSS/src/vos_sched.h
index 16b527a..64710d6 100644
--- a/CORE/VOSS/src/vos_sched.h
+++ b/CORE/VOSS/src/vos_sched.h
@@ -77,21 +77,22 @@
#include <vos_timer.h>
-#define TX_POST_EVENT_MASK 0x001
-#define TX_SUSPEND_EVENT_MASK 0x002
-#define MC_POST_EVENT_MASK 0x001
-#define MC_SUSPEND_EVENT_MASK 0x002
-#define RX_POST_EVENT_MASK 0x001
-#define RX_SUSPEND_EVENT_MASK 0x002
-#define TX_SHUTDOWN_EVENT_MASK 0x010
-#define MC_SHUTDOWN_EVENT_MASK 0x010
-#define RX_SHUTDOWN_EVENT_MASK 0x010
-#define WD_POST_EVENT_MASK 0x001
-#define WD_SHUTDOWN_EVENT_MASK 0x002
-#define WD_CHIP_RESET_EVENT_MASK 0x004
-#define WD_WLAN_SHUTDOWN_EVENT_MASK 0x008
-#define WD_WLAN_REINIT_EVENT_MASK 0x010
-#define WD_WLAN_DETECT_THREAD_STUCK_MASK 0x020
+#define TX_POST_EVENT 0x000
+#define TX_SUSPEND_EVENT 0x001
+#define MC_POST_EVENT 0x000
+#define MC_SUSPEND_EVENT 0x001
+#define RX_POST_EVENT 0x000
+#define RX_SUSPEND_EVENT 0x001
+#define TX_SHUTDOWN_EVENT 0x002
+#define MC_SHUTDOWN_EVENT 0x002
+#define RX_SHUTDOWN_EVENT 0x002
+
+#define WD_POST_EVENT 0x000
+#define WD_SHUTDOWN_EVENT 0x001
+#define WD_CHIP_RESET_EVENT 0x002
+#define WD_WLAN_SHUTDOWN_EVENT 0x003
+#define WD_WLAN_REINIT_EVENT 0x004
+#define WD_WLAN_DETECT_THREAD_STUCK 0x005