Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-11567

[SciClient] Write protection sequence is incorrect in Sciclient_serviceSecureProxy API

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: High High
    • PDK
    • PDK-13500
    • PROCESSOR_SDK_09.00.00
    • PROCESSOR_SDK_09.02.00
    • Hide
      j721e-evm
      j7200-evm
      j721s2-evm
      j784s4-evm
      Show
      j721e-evm j7200-evm j721s2-evm j784s4-evm

      Description
      The API Sciclient_serviceSecureProxy present in sciclient.c, enables gSciclient_writeInProgress flag at around line no 816 and and disables this flag at around line no 912. But the message is still being accessed from line 930 to 961. So if this flag is disabled, this message is still not accessed and processed and from some other core or local mcu1-0 core calls this API

      Sciclient_serviceSecureProxy, then the message can potentially cleaned out in Sciclient_flush API at line 931, causing message failure for the first message. 

       

      This issue is observed on TDA4AHP, where there two VPAC running on mcu2_0 and mcu4_0. When they are trying to initialize DMA channels, sometimes the DMA initialization fails. 

       
      Workaround
      In order to fix this issue, below code must be moved to line 961, so that message is accessed and processed before being accessed by the other thread.

       

          key = HwiP_disable();
          gSciclient_writeInProgress = 0U;
          HwiP_restore(key);

            syncuser TI User
            syncuser TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: