From 60b96f106bcb45e7301e87f39a05dd8d20b9743e Mon Sep 17 00:00:00 2001 From: Ramsey Harris Date: Wed, 4 Jun 2014 11:54:42 -0700 Subject: [PATCH] SDOCM00108149 Incorrect index computation in NotifySetup for v7M and v7A When computing the mailbox table index in NotifySetup_plugHwi, the local MultiProcID was used. It should have been using the local virtual ID. The same bug was in NotifySetup_unplugHwi. --- packages/ti/sdo/ipc/family/vayu/NotifySetup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ti/sdo/ipc/family/vayu/NotifySetup.c b/packages/ti/sdo/ipc/family/vayu/NotifySetup.c index 72e60bd..603efa3 100644 --- a/packages/ti/sdo/ipc/family/vayu/NotifySetup.c +++ b/packages/ti/sdo/ipc/family/vayu/NotifySetup.c @@ -483,7 +483,7 @@ Void NotifySetup_plugHwi(UInt16 remoteProcId, Int cpuIntrNum, || defined(xdc_target__isaCompatible_v7A) /* compute table index for given source and destination */ - idx = (srcVirtId * NotifySetup_NUM_CORES) + MultiProc_self(); + idx = (srcVirtId * NotifySetup_NUM_CORES) + VIRTID(MultiProc_self()); /* compute mailbox index */ mbxIdx = MBX_BASEADDR_IDX(idx); @@ -583,7 +583,7 @@ Void NotifySetup_unplugHwi(UInt16 remoteProcId, Int cpuIntrNum) || defined(xdc_target__isaCompatible_v7A) /* decrement plug count */ - idx = (srcVirtId * NotifySetup_NUM_CORES) + MultiProc_self(); + idx = (srcVirtId * NotifySetup_NUM_CORES) + VIRTID(MultiProc_self()); mbxIdx = MBX_BASEADDR_IDX(idx); NotifySetup_module->numPlugged[mbxIdx]--; -- 2.39.2