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
This commit is contained in:
Dustin Brown
2017-05-04 10:35:26 -07:00
committed by snandini
parent da525ac7a3
commit d2cd9eab9b

View File

@@ -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;
}