From f733b217793e9aacf8b0ca6ce39c79ae663e7141 Mon Sep 17 00:00:00 2001 From: Deru Wang Date: Tue, 23 Aug 2022 15:25:53 +0800 Subject: [PATCH] asoc: add more return when msm_audio_ion_alloc failed Sometimes, the return of msm_audio_ion_alloc is a positive number not a negative number when audio ION alloc failed. It will return the status of cmd_rsp which maybe a positive number. Change-Id: Ice90385f22c07fa2c9c72c8a31aeb3b8ee477756 Signed-off-by: Deru Wang --- dsp/q6voice.c | 16 ++++++++++------ dsp/rtac.c | 3 ++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/dsp/q6voice.c b/dsp/q6voice.c index 433c2bdb2b0e..e7f7646b7eea 100644 --- a/dsp/q6voice.c +++ b/dsp/q6voice.c @@ -8526,10 +8526,11 @@ static int voice_alloc_oob_shared_mem(void) bufsz * bufcnt, &phys, &len, &mem_addr); - if (rc < 0) { + if (rc) { pr_err("%s: audio ION alloc failed, rc = %d\n", __func__, rc); + rc = -EINVAL; goto done; } @@ -8578,10 +8579,11 @@ static int voice_alloc_oob_mem_table(void) &v->shmem_info.memtbl.phys, &len, &(v->shmem_info.memtbl.data)); - if (rc < 0) { + if (rc) { pr_err("%s: audio ION alloc failed, rc = %d\n", __func__, rc); + rc = -EINVAL; goto done; } @@ -8964,9 +8966,10 @@ static int voice_alloc_cal_mem_map_table(void) &common.cal_mem_map_table.phys, &len, &(common.cal_mem_map_table.data)); - if ((ret < 0) && (ret != -EPROBE_DEFER)) { + if ((ret) && (ret != -EPROBE_DEFER)) { pr_err("%s: audio ION alloc failed, rc = %d\n", __func__, ret); + ret = -EINVAL; goto done; } @@ -8990,9 +8993,10 @@ static int voice_alloc_rtac_mem_map_table(void) &common.rtac_mem_map_table.phys, &len, &(common.rtac_mem_map_table.data)); - if (ret < 0) { + if (ret) { pr_err("%s: audio ION alloc failed, rc = %d\n", __func__, ret); + ret = -EINVAL; goto done; } @@ -9722,7 +9726,7 @@ static int voice_alloc_source_tracking_shared_memory(void) &(common.source_tracking_sh_mem.sh_mem_block.phys), (size_t *)&(common.source_tracking_sh_mem.sh_mem_block.size), &(common.source_tracking_sh_mem.sh_mem_block.data)); - if (ret < 0) { + if (ret) { pr_err("%s: audio ION alloc failed for sh_mem block, ret = %d\n", __func__, ret); @@ -9744,7 +9748,7 @@ static int voice_alloc_source_tracking_shared_memory(void) &(common.source_tracking_sh_mem.sh_mem_table.phys), (size_t *)&(common.source_tracking_sh_mem.sh_mem_table.size), &(common.source_tracking_sh_mem.sh_mem_table.data)); - if (ret < 0) { + if (ret) { pr_err("%s: audio ION alloc failed for sh_mem table, ret = %d\n", __func__, ret); diff --git a/dsp/rtac.c b/dsp/rtac.c index 6864970651f6..07e99036d74a 100644 --- a/dsp/rtac.c +++ b/dsp/rtac.c @@ -159,9 +159,10 @@ int rtac_allocate_cal_buffer(uint32_t cal_type) &rtac_cal[cal_type].cal_data.paddr, &len, &rtac_cal[cal_type].cal_data.kvaddr); - if (result < 0) { + if (result) { pr_err("%s: ION create client for RTAC failed\n", __func__); + result = -EINVAL; goto done; }