sm: ipa3: Fix to memory allocation failure

During device reboot when IPA is going for shutdown,
the allocation for memory request fails.  Add change in
IPA to not sleep while memory allocation.

Bug: 136455750
Test: Run Monkey/AUPT test
Change-Id: I0bdbf0f622770566ad1135c76f6edc2790285420
Signed-off-by: Pooja Kumari <kumarip@codeaurora.org>
This commit is contained in:
Pooja Kumari
2019-07-31 15:20:19 +05:30
committed by Mars Lin
parent 726ef703d3
commit d089ef2e02

View File

@@ -3485,6 +3485,7 @@ bdy_alloc_fail:
int ipahal_fltrt_allocate_hw_sys_tbl(struct ipa_mem_buffer *tbl_mem)
{
struct ipahal_fltrt_obj *obj;
gfp_t flag = GFP_KERNEL;
IPAHAL_DBG_LOW("Entry\n");
@@ -3502,10 +3503,14 @@ int ipahal_fltrt_allocate_hw_sys_tbl(struct ipa_mem_buffer *tbl_mem)
/* add word for rule-set terminator */
tbl_mem->size += obj->tbl_width;
alloc:
tbl_mem->base = dma_alloc_coherent(ipahal_ctx->ipa_pdev, tbl_mem->size,
&tbl_mem->phys_base, GFP_KERNEL);
&tbl_mem->phys_base, flag);
if (!tbl_mem->base) {
if (flag == GFP_KERNEL) {
flag = GFP_ATOMIC;
goto alloc;
}
IPAHAL_ERR("fail to alloc DMA buf of size %d\n",
tbl_mem->size);
return -ENOMEM;