diff options
author | Midas Chien <midaschieh@google.com> | 2023-05-05 06:25:21 +0000 |
---|---|---|
committer | Midas Chien <midaschieh@google.com> | 2023-05-05 06:25:21 +0000 |
commit | d6bd3d5d55881536c66766546ab8a98a37c790ca (patch) | |
tree | d55943306450b496342e20c96d5431b5566a571c | |
parent | 88780476976e4194bbaa581a5713b69d8d963a1e (diff) |
libhwc2.1: add lock protection in checkBtsReassignResource
Add mutex lock when accessing mLayers to avoid race condition.
Bug: 271198385
Test: rr switch, AOD, video, camera
Change-Id: I50985f896883e4001ffc08a582800ebde625fe97
-rw-r--r-- | libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp index 379fbdd..b1b6aee 100644 --- a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp +++ b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp @@ -1081,6 +1081,7 @@ void ExynosPrimaryDisplay::checkBtsReassignResource(const uint32_t vsyncPeriod, ATRACE_CALL(); uint32_t refreshRate = static_cast<uint32_t>(round(nsecsPerSec / vsyncPeriod * 0.1f) * 10); + Mutex::Autolock lock(mDRMutex); if (vsyncPeriod < btsVsyncPeriod) { for (size_t i = 0; i < mLayers.size(); i++) { if (mLayers[i]->mOtfMPP && mLayers[i]->mM2mMPP == nullptr && |