From e871734de806e1cb95632859bf2ada028ddbfa19 Mon Sep 17 00:00:00 2001 From: Rajeev Kumar Date: Wed, 4 May 2016 15:20:05 -0700 Subject: qcacld-3.0: De-serialize FW diag log events from MC thread FW DIAG log events are serialized to MC thread(WMA message queue) which is causing PE/SME message queues starvation when FW is generating flood of debug log events. Since WMA message queue has higher priority than PE/SME message queue serialized FW debug log events eventually lead to SME command queue time out because PE message queue is starved. Fix this PE/SME message queue starvation by moving FW diag log event processing to kworker thread. Change-Id: Ifd8688c61bfdd132a4727d377cfc2e975e5c5b13 CRs-Fixed: 1011762 --- core/utils/fwlog/dbglog_host.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/utils/fwlog/dbglog_host.c b/core/utils/fwlog/dbglog_host.c index b233dc8f5d4a..6601b007b7fa 100644 --- a/core/utils/fwlog/dbglog_host.c +++ b/core/utils/fwlog/dbglog_host.c @@ -4354,14 +4354,14 @@ int dbglog_init(wmi_unified_t wmi_handle) res = wmi_unified_register_event_handler(wmi_handle, WMI_DIAG_DATA_CONTAINER_EVENTID, fw_diag_data_event_handler, - WMA_RX_SERIALIZER_CTX); + WMA_RX_WORK_CTX); if (res != 0) return res; /* Register handler for new FW diag Event, LOG, MSG combined */ res = wmi_unified_register_event_handler(wmi_handle, WMI_DIAG_EVENTID, diag_fw_handler, - WMA_RX_SERIALIZER_CTX); + WMA_RX_WORK_CTX); if (res != 0) return res; -- cgit v1.2.3