NoRTOS SemaphoreP_post can permanently disable power policy

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: High
    • TI Device Drivers
    • TIDRIVERS-1284
    • 3.40.00
    • 3.40.00
    • Hide
      Posting a semaphore using the NoRTOS DPL API SemaphoreP_post() can disable the current power policy if the following circumstances are true:
      1) Two SemaphoreP_post() calls from Hwi context
      2) A thread is pending on a semaphore with SemaphoreP_pend()

      The DPL saves the old status as a global boolean so that the semaphore pend can enable the power policy again if it was originally enabled.
      However, if two SemaphoreP_post are called in close proximity in the Hwi context before the SemaphoreP_pend is processed, the global variable will be overwritten and the actual old value lost. This will result in SemaphoreP_pend never enabling the power policy again, and the device get stuck in a high power mode when it should not be.
      Show
      Posting a semaphore using the NoRTOS DPL API SemaphoreP_post() can disable the current power policy if the following circumstances are true: 1) Two SemaphoreP_post() calls from Hwi context 2) A thread is pending on a semaphore with SemaphoreP_pend() The DPL saves the old status as a global boolean so that the semaphore pend can enable the power policy again if it was originally enabled. However, if two SemaphoreP_post are called in close proximity in the Hwi context before the SemaphoreP_pend is processed, the global variable will be overwritten and the actual old value lost. This will result in SemaphoreP_pend never enabling the power policy again, and the device get stuck in a high power mode when it should not be.

      NoRTOS SemaphoreP_post can permanently disable power policy

            Assignee:
            TI User
            Reporter:
            TI User
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:

                Connection: Intermediate to External PROD System
                EXTSYNC-995 - NoRTOS SemaphoreP_post can permanen...
                SYNCHRONIZED
                • Last Sync Date: