From d2cd9eab9b38f8dceb85c744ffada78cad4f5940 Mon Sep 17 00:00:00 2001 From: Dustin Brown Date: Thu, 4 May 2017 10:35:26 -0700 Subject: [PATCH] qcacmn: Remove assert in Scheduler thread post message path In situations where the scheduler thread has been stopped, but some threads are still trying to post massages to it, a particular assert can be triggered excessively. Remove the post message assert when the scheduler thread is stopped, and instead simply log an error. Change-Id: I5b898dc3ea22bbedcdf2287ef6f3bcee1560bb6b CRs-Fixed: 2046232 --- scheduler/src/scheduler_api.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/scheduler/src/scheduler_api.c b/scheduler/src/scheduler_api.c index 46f382a513..ef0c0dda29 100644 --- a/scheduler/src/scheduler_api.c +++ b/scheduler/src/scheduler_api.c @@ -221,14 +221,18 @@ 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 || !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); + if (!pMsg) { + sched_err("pMsg is null"); + return QDF_STATUS_E_INVAL; + } + + if (!sched_ctx) { + sched_err("sched_ctx is null"); + return QDF_STATUS_E_INVAL; + } + + if (!sched_ctx->sch_thread) { + sched_err("Cannot post message; scheduler thread is stopped"); return QDF_STATUS_E_FAILURE; }