nsremote: Add additional check to handle assert disabled
authorSam Nelson <sam.nelson@ti.com>
Tue, 8 Oct 2019 04:50:16 +0000 (00:50 -0400)
committerSam Nelson <sam.nelson@ti.com>
Tue, 8 Oct 2019 19:51:06 +0000 (15:51 -0400)
Signed-off-by: Sam Nelson <sam.nelson@ti.com>
packages/ti/sdo/ipc/nsremote/NameServerMessageQ.c
packages/ti/sdo/ipc/nsremote/NameServerRemoteNotify.c

index 48a1dd15d92df863b5990cb254c21a321b3e82b7..1f0b3a61483db4e5130f76a1d3d4cd403b5c7898 100644 (file)
@@ -120,6 +120,7 @@ Void NameServerMessageQ_Instance_finalize(NameServerMessageQ_Object *obj)
 Int NameServerMessageQ_Module_startup(Int phase)
 {
     MessageQ_Params2  messageQParams;
 Int NameServerMessageQ_Module_startup(Int phase)
 {
     MessageQ_Params2  messageQParams;
+    MessageQ_QueueId queueId;
 
     /* Ensure MessageQ and SyncSwi Module_startup() have completed */
     if ((ti_sdo_ipc_MessageQ_Module_startupDone() == FALSE) ||
 
     /* Ensure MessageQ and SyncSwi Module_startup() have completed */
     if ((ti_sdo_ipc_MessageQ_Module_startupDone() == FALSE) ||
@@ -137,11 +138,20 @@ Int NameServerMessageQ_Module_startup(Int phase)
     /* assert msgHandle is not null */
     Assert_isTrue(NameServerMessageQ_module->msgHandle != NULL,
         Ipc_A_nullPointer);
     /* assert msgHandle is not null */
     Assert_isTrue(NameServerMessageQ_module->msgHandle != NULL,
         Ipc_A_nullPointer);
+    /* Additonal check for case with  assert disabled */
+    if(NameServerMessageQ_module->msgHandle == NULL) {
+        return Startup_NOTDONE;
+    }
 
 
+    queueId = MessageQ_getQueueId((MessageQ_Handle)
+                                  NameServerMessageQ_module->msgHandle);
     /* assert this is the first MessageQ created */
     /* assert this is the first MessageQ created */
-    Assert_isTrue((MessageQ_getQueueId((MessageQ_Handle)
-        NameServerMessageQ_module->msgHandle) & 0xffff) == MESSAGEQ_INDEX,
+    Assert_isTrue( (queueId & 0xffff) == MESSAGEQ_INDEX,
         NameServerMessageQ_A_reservedMsgQueueId);
         NameServerMessageQ_A_reservedMsgQueueId);
+    /* Additonal check for case with  assert disabled */
+    if ((queueId & 0xffff) != MESSAGEQ_INDEX) {
+        return Startup_NOTDONE;
+    }
 
     return (Startup_DONE);
 }
 
     return (Startup_DONE);
 }
index 239dc32d47da0bc93386e7fed9c64070a9a630b2..f11ba53910b9a2df18ca45e86843f9c50d2437a3 100644 (file)
@@ -83,6 +83,7 @@ Int NameServerRemoteNotify_Instance_init(NameServerRemoteNotify_Object *obj,
     Semaphore_Handle  semHandle;
     Swi_Params        swiParams;
     Swi_Handle        swiHandle;
     Semaphore_Handle  semHandle;
     Swi_Params        swiParams;
     Swi_Handle        swiHandle;
+    SizeT          cacheLineSize;
 
     /* Assert that a NameServerRemoteNotify_Params has been supplied */
     Assert_isTrue(params != NULL, Ipc_A_nullArgument);
 
     /* Assert that a NameServerRemoteNotify_Params has been supplied */
     Assert_isTrue(params != NULL, Ipc_A_nullArgument);
@@ -101,17 +102,18 @@ Int NameServerRemoteNotify_Instance_init(NameServerRemoteNotify_Object *obj,
     obj->localState = NameServerRemoteNotify_IDLE;
     obj->remoteState = NameServerRemoteNotify_IDLE;
 
     obj->localState = NameServerRemoteNotify_IDLE;
     obj->remoteState = NameServerRemoteNotify_IDLE;
 
-    /* assert that sharedAddr is cache aligned */
-    Assert_isTrue(SharedRegion_getCacheLineSize(obj->regionId) == 0 ||
-            ((UArg)params->sharedAddr %
-            SharedRegion_getCacheLineSize(obj->regionId) == 0),
+    cacheLineSize = SharedRegion_getCacheLineSize(obj->regionId);
+    if (cacheLineSize !=  0) {
+        /* assert that sharedAddr is cache aligned */
+        Assert_isTrue((((UArg)params->sharedAddr) %
+            cacheLineSize == 0),
             Ipc_A_addrNotCacheAligned);
 
             Ipc_A_addrNotCacheAligned);
 
-    /* asset message structure size is cache aligned */
-    Assert_isTrue(SharedRegion_getCacheLineSize(obj->regionId) == 0 ||
-            (sizeof(NameServerRemoteNotify_Message) %
-            SharedRegion_getCacheLineSize(obj->regionId)) == 0,
+        /* asset message structure size is cache aligned */
+        Assert_isTrue((sizeof(NameServerRemoteNotify_Message) %
+            cacheLineSize) == 0,
             NameServerRemoteNotify_A_messageSize);
             NameServerRemoteNotify_A_messageSize);
+    }
 
     obj->msg[0] = (NameServerRemoteNotify_Message *)(params->sharedAddr);
     obj->msg[1] = (NameServerRemoteNotify_Message *)((UArg)obj->msg[0] +
 
     obj->msg[0] = (NameServerRemoteNotify_Message *)(params->sharedAddr);
     obj->msg[1] = (NameServerRemoteNotify_Message *)((UArg)obj->msg[0] +