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:
@@ -809,9 +809,10 @@ static QDF_STATUS wlan_mgmt_txrx_rx_handler_list_copy(
|
||||
struct mgmt_rx_handler *rx_handler_node;
|
||||
|
||||
while (rx_handler) {
|
||||
rx_handler_node = qdf_mem_malloc(sizeof(*rx_handler_node));
|
||||
rx_handler_node =
|
||||
qdf_mem_malloc_atomic(sizeof(*rx_handler_node));
|
||||
if (!rx_handler_node) {
|
||||
mgmt_txrx_err("Couldn't allocate memory for rx handler node");
|
||||
mgmt_txrx_err_rl("Couldn't allocate memory for rx handler node");
|
||||
return QDF_STATUS_E_NOMEM;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user