qcacmn: Fix memory allocation latency in beacon process
Currently if the number of APs in the STA environment are many, then the STA will receive many beacons, whose beacon process path can take long time, in the kernel work queue, hence the other processes have to wait for them to complete, and may get timeout, if the the time to process the beaocns is larger than their process timeout. Fix is to :- 1. Add rate limit to failure conditions of memory not allocated 2. Make memory allocation in path of beacon process atomic. Change-Id: I0b15fd4924bb7d696a33adeb1875f1f9c277db18 CRs-Fixed: 2360624
This commit is contained in:
@@ -272,14 +272,14 @@ QDF_STATUS tgt_scan_bcn_probe_rx_callback(struct wlan_objmgr_psoc *psoc,
|
||||
bcn = qdf_mem_malloc_atomic(sizeof(*bcn));
|
||||
|
||||
if (!bcn) {
|
||||
scm_err("Failed to allocate memory for bcn");
|
||||
scm_debug_rl("Failed to allocate memory for bcn");
|
||||
status = QDF_STATUS_E_NOMEM;
|
||||
goto free;
|
||||
}
|
||||
bcn->rx_data =
|
||||
qdf_mem_malloc_atomic(sizeof(*rx_param));
|
||||
if (!bcn->rx_data) {
|
||||
scm_err("Failed to allocate memory for rx_data");
|
||||
scm_debug_rl("Failed to allocate memory for rx_data");
|
||||
status = QDF_STATUS_E_NOMEM;
|
||||
goto free;
|
||||
}
|
||||
|
Reference in New Issue
Block a user