qcacld-3.0: 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: Ifad1d6985a48967d8f6f53527f86c1ee0f481b9e
CRs-Fixed: 2361471
This commit is contained in:
gaurank kathpalia 2018-12-04 19:51:17 +05:30 • committed by nshrivas
commit 5ff11ef8e9

View file

@ -1247,7 +1247,7 @@ static QDF_STATUS pe_handle_mgmt_frame(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_E_FAILURE;
}
pVosPkt = qdf_mem_malloc(sizeof(*pVosPkt));
pVosPkt = qdf_mem_malloc_atomic(sizeof(*pVosPkt));
if (!pVosPkt) {
qdf_nbuf_free(buf);
return QDF_STATUS_E_NOMEM;