summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/nmf-cm/cm/engine/dsp/src/dsp.c2
-rw-r--r--drivers/staging/nmf-cm/cm_debug.c28
2 files changed, 18 insertions, 12 deletions
diff --git a/drivers/staging/nmf-cm/cm/engine/dsp/src/dsp.c b/drivers/staging/nmf-cm/cm/engine/dsp/src/dsp.c
index 7646f6301de..ef11a5265aa 100644
--- a/drivers/staging/nmf-cm/cm/engine/dsp/src/dsp.c
+++ b/drivers/staging/nmf-cm/cm/engine/dsp/src/dsp.c
@@ -513,6 +513,8 @@ PUBLIC void cm_DSP_GetDspAddress(t_memory_handle memHandle, t_uint32 *pDspAddres
PUBLIC t_cm_error cm_DSP_GetDspBaseAddress(t_nmf_core_id coreId, t_dsp_memory_type_id memType, t_cm_system_address *pAddr)
{
cm_migration_check_state(coreId, STATE_NORMAL);
+ if (mpcDesc[coreId].allocator[memType] == NULL)
+ return CM_INVALID_PARAMETER;
*pAddr = mpcDesc[coreId].allocator[memType]->baseAddress;
return CM_OK;
}
diff --git a/drivers/staging/nmf-cm/cm_debug.c b/drivers/staging/nmf-cm/cm_debug.c
index b894c6b8e4a..ffb067c65d9 100644
--- a/drivers/staging/nmf-cm/cm_debug.c
+++ b/drivers/staging/nmf-cm/cm_debug.c
@@ -306,9 +306,10 @@ static ssize_t domain_read(struct file *file, char __user *userbuf,
"address Size Free Used\n"
"---------------------------------------"
"-----------------------------------\n");
- if (domain->domain.esramCode.size) {
- cm_DSP_GetDspBaseAddress(ARM_CORE_ID,
- ESRAM_CODE, &addr);
+ if (domain->domain.esramCode.size &&
+ cm_DSP_GetDspBaseAddress(ARM_CORE_ID,
+ ESRAM_CODE,
+ &addr) == CM_OK) {
cm_DSP_GetInternalMemoriesInfo(id, ESRAM_CODE,
&dOffset,
&dSize);
@@ -330,9 +331,10 @@ static ssize_t domain_read(struct file *file, char __user *userbuf,
status.global.accumulate_free_memory,
status.global.accumulate_used_memory);
}
- if (domain->domain.esramData.size) {
- cm_DSP_GetDspBaseAddress(ARM_CORE_ID,
- ESRAM_EXT24, &addr);
+ if (domain->domain.esramData.size &&
+ cm_DSP_GetDspBaseAddress(ARM_CORE_ID,
+ ESRAM_EXT24,
+ &addr) == CM_OK) {
cm_DSP_GetInternalMemoriesInfo(id, ESRAM_EXT24,
&dOffset,
&dSize);
@@ -354,9 +356,10 @@ static ssize_t domain_read(struct file *file, char __user *userbuf,
status.global.accumulate_free_memory,
status.global.accumulate_used_memory);
}
- if (domain->domain.sdramCode.size) {
- cm_DSP_GetDspBaseAddress(ARM_CORE_ID,
- SDRAM_CODE, &addr);
+ if (domain->domain.sdramCode.size &&
+ cm_DSP_GetDspBaseAddress(ARM_CORE_ID,
+ SDRAM_CODE,
+ &addr) == CM_OK) {
cm_DSP_GetInternalMemoriesInfo(id, SDRAM_CODE,
&dOffset,
&dSize);
@@ -378,9 +381,10 @@ static ssize_t domain_read(struct file *file, char __user *userbuf,
status.global.accumulate_free_memory,
status.global.accumulate_used_memory);
}
- if (domain->domain.sdramData.size) {
- cm_DSP_GetDspBaseAddress(ARM_CORE_ID,
- SDRAM_EXT24, &addr);
+ if (domain->domain.sdramData.size &&
+ cm_DSP_GetDspBaseAddress(ARM_CORE_ID,
+ SDRAM_EXT24,
+ &addr) == CM_OK) {
cm_DSP_GetInternalMemoriesInfo(id, SDRAM_EXT24,
&dOffset,
&dSize);