Browse Source

qcacmn: Validate existence of sch thread before posting a message

If scheduler thread thread doesn't exist or has been shutdown then
don't post a message otherwise it will cause a memory leak.

validate the existence of scheduler thread before posting a message.

Change-Id: Id0e75bdebc7db8c00d9efb8a6e8678491b21a20f
CRs-Fixed: 2031651
Krunal Soni 8 years ago
parent
commit
c8039e3fa4
1 changed files with 4 additions and 1 deletions
  1. 4 1
      scheduler/src/scheduler_api.c

+ 4 - 1
scheduler/src/scheduler_api.c

@@ -185,10 +185,13 @@ QDF_STATUS scheduler_post_msg_by_priority(QDF_MODULE_ID qid,
 	struct scheduler_msg_wrapper *msg_wrapper = NULL;
 	struct scheduler_ctx *sched_ctx = scheduler_get_context();
 
-	if (!sched_ctx || !pMsg) {
+	if (!sched_ctx || !pMsg || !sched_ctx->sch_thread) {
 		QDF_TRACE(QDF_MODULE_ID_SCHEDULER, QDF_TRACE_LEVEL_ERROR,
 				"%s: Null params or global sch context is null",
 				__func__);
+		QDF_TRACE(QDF_MODULE_ID_SCHEDULER, QDF_TRACE_LEVEL_ERROR,
+				"%s: sched_ctx[%d], pMsg[%d]",
+				__func__, !!sched_ctx, !!pMsg);
 		QDF_ASSERT(0);
 		return QDF_STATUS_E_FAILURE;
 	}