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
このコミットが含まれているのは:
Rajeev Kumar
2016-05-04 15:20:05 -07:00
committed by Akash Patel
コミット e871734de8

ファイルの表示

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