summaryrefslogtreecommitdiff
path: root/dsp/msm_audio_ion.c
diff options
context:
space:
mode:
Diffstat (limited to 'dsp/msm_audio_ion.c')
-rw-r--r--dsp/msm_audio_ion.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/dsp/msm_audio_ion.c b/dsp/msm_audio_ion.c
index 566f8bf1..2bf02fca 100644
--- a/dsp/msm_audio_ion.c
+++ b/dsp/msm_audio_ion.c
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
- * Copyright (c) 2013-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2020, The Linux Foundation. All rights reserved.
*/
#include <linux/init.h>
@@ -67,7 +67,7 @@ static int msm_audio_dma_buf_map(struct dma_buf *dma_buf,
dma_addr_t *addr, size_t *len)
{
- struct msm_audio_alloc_data *alloc_data;
+ struct msm_audio_alloc_data *alloc_data = NULL;
struct device *cb_dev;
unsigned long ionflag = 0;
int rc = 0;
@@ -133,6 +133,7 @@ detach_dma_buf:
alloc_data->attach);
free_alloc_data:
kfree(alloc_data);
+ alloc_data = NULL;
return rc;
}
@@ -170,6 +171,7 @@ static int msm_audio_dma_buf_unmap(struct dma_buf *dma_buf)
list_del(&(alloc_data->list));
kfree(alloc_data);
+ alloc_data = NULL;
break;
}
}
@@ -312,6 +314,11 @@ static int msm_audio_ion_map_buf(struct dma_buf *dma_buf, dma_addr_t *paddr,
{
int rc = 0;
+ if (!dma_buf || !paddr || !vaddr || !plen) {
+ pr_err("%s: Invalid params\n", __func__);
+ return -EINVAL;
+ }
+
rc = msm_audio_ion_get_phys(dma_buf, paddr, plen);
if (rc) {
pr_err("%s: ION Get Physical for AUDIO failed, rc = %d\n",