qcacmn: Process FW diag events in a separate worker thread
Currently, FW diag logs, management frames and stats responses are processed in worker context. Because of this, there is a possible out of memory scenario when there are huge number of diag events waiting in work queue. To address this, process diag events in a separate worker thread and set the limit for the number of diag events that can be queued in work queue. Change-Id: Ie6e5b905a3b591cf724cd6b024bec0612f9e2e0c CRs-Fixed: 2818013
This commit is contained in:
@@ -144,13 +144,15 @@ enum wmi_target_type {
|
||||
* @WMI_RX_WORK_CTX: work queue context execution provided by WMI layer
|
||||
* @WMI_RX_UMAC_CTX: execution context provided by umac layer
|
||||
* @WMI_RX_SERIALIZER_CTX: Execution context is serialized thread context
|
||||
* @WMI_RX_DIAG_WORK_CTX: work queue execution context for FW diag events
|
||||
*
|
||||
*/
|
||||
enum wmi_rx_exec_ctx {
|
||||
WMI_RX_WORK_CTX,
|
||||
WMI_RX_UMAC_CTX,
|
||||
WMI_RX_TASKLET_CTX = WMI_RX_UMAC_CTX,
|
||||
WMI_RX_SERIALIZER_CTX = 2
|
||||
WMI_RX_SERIALIZER_CTX = 2,
|
||||
WMI_RX_DIAG_WORK_CTX
|
||||
};
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user