From 5ff11ef8e9791b79c9ac1a1c2bb9c0edf711c3db Mon Sep 17 00:00:00 2001 From: gaurank kathpalia Date: Tue, 4 Dec 2018 19:51:17 +0530 Subject: [PATCH] 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 --- core/mac/src/pe/lim/lim_api.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/mac/src/pe/lim/lim_api.c b/core/mac/src/pe/lim/lim_api.c index 755c03ff78b6..3804d770fc5d 100644 --- a/core/mac/src/pe/lim/lim_api.c +++ b/core/mac/src/pe/lim/lim_api.c @@ -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;