Browse Source

qcacmn: Add change for timeout to be executed in scheduler

When a serialization cmd is activated and activation is process in
scheduler context, it is observed that the timeout for that cmd
occurs and the cmd is released even though the activation in
scheduler context is still in progress.

This will lead to accessing the serialization cmd after free,
leading to memory corruption error.

Add change to avoid this by posting timeout message to scheduler
thread which will help synchronize the cmd execution in scheduler.

Change-Id: Ib2234331844f48d0d219f430f5b585f792282d42
CRs-Fixed: 2419854
Santosh Anbu 6 years ago
parent
commit
9f4daf55f7
1 changed files with 0 additions and 19 deletions
  1. 0 19
      umac/cmn_services/serialization/src/wlan_serialization_internal.c

+ 0 - 19
umac/cmn_services/serialization/src/wlan_serialization_internal.c

@@ -594,7 +594,6 @@ wlan_serialization_timer_cb_mc_ctx(void *arg)
 	ser_err("Could not enqueue timer to timer queue");
 }
 
-#ifdef CONFIG_MCL
 static void wlan_serialization_timer_handler(void *arg)
 {
 	ser_enter();
@@ -603,24 +602,6 @@ static void wlan_serialization_timer_handler(void *arg)
 
 	ser_exit();
 }
-#else
-static void wlan_serialization_timer_handler(void *arg)
-{
-	struct wlan_serialization_timer *timer = arg;
-	struct wlan_serialization_command *cmd = timer->cmd;
-
-	if (!cmd) {
-		ser_err("command not found");
-		QDF_ASSERT(0);
-		return;
-	}
-
-	if (cmd->cmd_type < WLAN_SER_CMD_NONSCAN)
-		wlan_serialization_timer_cb_mc_ctx(arg);
-	else
-		wlan_serialization_generic_timer_cb(arg);
-}
-#endif
 
 QDF_STATUS
 wlan_serialization_find_and_update_timer(