summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMidas Chien <midaschieh@google.com>2023-05-05 06:25:21 +0000
committerMidas Chien <midaschieh@google.com>2023-05-05 06:25:21 +0000
commitd6bd3d5d55881536c66766546ab8a98a37c790ca (patch)
treed55943306450b496342e20c96d5431b5566a571c
parent88780476976e4194bbaa581a5713b69d8d963a1e (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.cpp1
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 &&