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:
@@ -2503,6 +2503,10 @@ struct wmi_unified {
|
||||
qdf_nbuf_queue_t event_queue;
|
||||
qdf_work_t rx_event_work;
|
||||
qdf_workqueue_t *wmi_rx_work_queue;
|
||||
qdf_spinlock_t diag_eventq_lock;
|
||||
qdf_nbuf_queue_t diag_event_queue;
|
||||
qdf_work_t rx_diag_event_work;
|
||||
uint32_t wmi_rx_diag_events_dropped;
|
||||
int wmi_stop_in_progress;
|
||||
struct wmi_host_abi_version fw_abi_version;
|
||||
struct wmi_host_abi_version final_abi_vers;
|
||||
|
Reference in New Issue
Block a user