]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/performance-audio-sr.git/commitdiff
PASDK-432:Add code to check for null pointer in shared Beta table
authorFrank Livingston <frank-livingston@ti.com>
Mon, 30 Oct 2017 15:22:21 +0000 (10:22 -0500)
committerFrank Livingston <frank-livingston@ti.com>
Wed, 22 Nov 2017 00:15:57 +0000 (18:15 -0600)
(cherry picked from commit 9b5098f1d1df5be016e7086bba0442bda05c0dc1)

pasdk/test_dsp/framework/audioStreamInpProc.c

index ace2a1dc98405a10cddb490c22ea6adf663454ad..e39d3b90ff2755366a8c8e46c6e3625e5d5e1886 100644 (file)
@@ -571,36 +571,77 @@ Void taskAsipFxn(
     
     // (***) FL: revisit
     // invalidate Status structures for Beta Units initialized on Slave
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]), sizeof(Int), Cache_Type_ALLD, 0);
-    size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]->size;
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]), size, Cache_Type_ALLD, 0);
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]), sizeof(Int), Cache_Type_ALLD, 0);
-    size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]->size;
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]), size, Cache_Type_ALLD, 0);
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2]), sizeof(Int), Cache_Type_ALLD, 0);
-    size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2]->size;
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2]), size, Cache_Type_ALLD, 0);
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), sizeof(Int), Cache_Type_ALLD, 0);
-    size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]->size;
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), size, Cache_Type_ALLD, 0);
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]), sizeof(Int), Cache_Type_ALLD, 0);
-    size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]->size;
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]), size, Cache_Type_ALLD, 0);
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]), sizeof(Int), Cache_Type_ALLD, 0);
-    size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]->size;
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]), size, Cache_Type_ALLD, 0);
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]), sizeof(Int), Cache_Type_ALLD, 0);
-    size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]->size;
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]), size, Cache_Type_ALLD, 0);
-    size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), size, Cache_Type_ALLD, 0);
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC]), sizeof(Int), Cache_Type_ALLD, 0);
-    size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC]->size;
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC]), size, Cache_Type_ALLD, 0);
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2]), sizeof(Int), Cache_Type_ALLD, 0);
-    size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2]->size;
-    Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2]), size, Cache_Type_ALLD, 0);
-    Cache_wait();
+    //
+    if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE] != NULL)
+    {
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]), sizeof(Int), Cache_Type_ALLD, 0);
+        size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]->size;
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]), size, Cache_Type_ALLD, 0);
+        Cache_wait();
+    }
+    if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM] != NULL)
+    {
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]), sizeof(Int), Cache_Type_ALLD, 0);
+        size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]->size;
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]), size, Cache_Type_ALLD, 0);
+        Cache_wait();
+    }
+    if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2] != NULL)
+    {
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2]), sizeof(Int), Cache_Type_ALLD, 0);
+        size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2]->size;
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2]), size, Cache_Type_ALLD, 0);
+        Cache_wait();
+    }
+    if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP] != NULL)
+    {
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), sizeof(Int), Cache_Type_ALLD, 0);
+        size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]->size;
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), size, Cache_Type_ALLD, 0);
+        Cache_wait();
+    }
+    if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2] != NULL)
+    {
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]), sizeof(Int), Cache_Type_ALLD, 0);
+        size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]->size;
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]), size, Cache_Type_ALLD, 0);
+        Cache_wait();
+    }
+    if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD] != NULL)
+    {
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]), sizeof(Int), Cache_Type_ALLD, 0);
+        size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]->size;
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]), size, Cache_Type_ALLD, 0);
+        Cache_wait();
+    }
+    if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2] != NULL)
+    {
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]), sizeof(Int), Cache_Type_ALLD, 0);
+        size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]->size;
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]), size, Cache_Type_ALLD, 0);
+        Cache_wait();
+    }
+    if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA] != NULL)
+    {
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), sizeof(Int), Cache_Type_ALLD, 0);
+        size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), size, Cache_Type_ALLD, 0);
+        Cache_wait();
+    }
+    if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC] != NULL)
+    {
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC]), sizeof(Int), Cache_Type_ALLD, 0);
+        size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC]->size;
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC]), size, Cache_Type_ALLD, 0);
+        Cache_wait();
+    }
+    if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2] != NULL)
+    {
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2]), sizeof(Int), Cache_Type_ALLD, 0);
+        size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2]->size;
+        Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2]), size, Cache_Type_ALLD, 0);
+        Cache_wait();
+    }
     
 #ifdef NON_CACHE_STATUS
     // Get the shared status structure GateMP handles. Initialized at slave.