diff options
author | Sam Nelson <sam.nelson@ti.com> | 2019-10-08 00:50:16 -0400 |
---|---|---|
committer | Sam Nelson <sam.nelson@ti.com> | 2019-10-08 15:51:06 -0400 |
commit | ac762823ddd75d46ef32bace6d2a66732fb245e5 (patch) | |
tree | 446c7f6499f8e36a400e17b51e1cb7e38914b45f | |
parent | ec6c673fc95dcc8852889461fb83c2389a76c276 (diff) | |
download | ipc-ac762823ddd75d46ef32bace6d2a66732fb245e5.tar.gz |
nsremote: Add additional check to handle assert disabled
Signed-off-by: Sam Nelson <sam.nelson@ti.com>
-rw-r--r-- | packages/ti/sdo/ipc/nsremote/NameServerMessageQ.c | 14 | ||||
-rw-r--r-- | packages/ti/sdo/ipc/nsremote/NameServerRemoteNotify.c | 18 |
2 files changed, 22 insertions, 10 deletions
diff --git a/packages/ti/sdo/ipc/nsremote/NameServerMessageQ.c b/packages/ti/sdo/ipc/nsremote/NameServerMessageQ.c index 48a1dd1..1f0b3a6 100644 --- a/packages/ti/sdo/ipc/nsremote/NameServerMessageQ.c +++ b/packages/ti/sdo/ipc/nsremote/NameServerMessageQ.c @@ -120,6 +120,7 @@ Void NameServerMessageQ_Instance_finalize(NameServerMessageQ_Object *obj) 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) || @@ -137,11 +138,20 @@ Int NameServerMessageQ_Module_startup(Int phase) /* 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_isTrue((MessageQ_getQueueId((MessageQ_Handle) - NameServerMessageQ_module->msgHandle) & 0xffff) == MESSAGEQ_INDEX, + Assert_isTrue( (queueId & 0xffff) == MESSAGEQ_INDEX, NameServerMessageQ_A_reservedMsgQueueId); + /* Additonal check for case with assert disabled */ + if ((queueId & 0xffff) != MESSAGEQ_INDEX) { + return Startup_NOTDONE; + } return (Startup_DONE); } diff --git a/packages/ti/sdo/ipc/nsremote/NameServerRemoteNotify.c b/packages/ti/sdo/ipc/nsremote/NameServerRemoteNotify.c index 239dc32..f11ba53 100644 --- a/packages/ti/sdo/ipc/nsremote/NameServerRemoteNotify.c +++ b/packages/ti/sdo/ipc/nsremote/NameServerRemoteNotify.c @@ -83,6 +83,7 @@ Int NameServerRemoteNotify_Instance_init(NameServerRemoteNotify_Object *obj, 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); @@ -101,17 +102,18 @@ Int NameServerRemoteNotify_Instance_init(NameServerRemoteNotify_Object *obj, 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); - /* 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); + } obj->msg[0] = (NameServerRemoteNotify_Message *)(params->sharedAddr); obj->msg[1] = (NameServerRemoteNotify_Message *)((UArg)obj->msg[0] + |