summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSatyam Kumar Singh <quic_satysing@quicinc.com>2022-08-03 18:22:23 +0530
committerSatyam Kumar Singh <quic_satysing@quicinc.com>2022-08-03 21:27:47 +0530
commita770b1a7e86dc08b618ecbc907a5034f6334f7df (patch)
treeddccd33d681b1f15df8d4b8c126965223723cb31
parent8c4562d7a6f9771b6aa7c71b7445b2a9bff535b1 (diff)
sdm: handle concurrency between PostCommit and SetPanelBrightness
Change-Id: I14cce9cf69ece6200b9c806847a45fbdbd49c0ad
-rw-r--r--sdm/libs/core/display_builtin.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/sdm/libs/core/display_builtin.cpp b/sdm/libs/core/display_builtin.cpp
index a9d7c75a..45bfba50 100644
--- a/sdm/libs/core/display_builtin.cpp
+++ b/sdm/libs/core/display_builtin.cpp
@@ -740,11 +740,14 @@ DisplayError DisplayBuiltIn::CommitLocked(LayerStack *layer_stack) {
DisplayError DisplayBuiltIn::PostCommit(HWLayersInfo *hw_layers_info) {
DisplayBase::PostCommit(hw_layers_info);
-
- if (pending_brightness_) {
- Fence::Wait(retire_fence_);
- SetPanelBrightness(cached_brightness_);
- pending_brightness_ = false;
+ // Mutex scope
+ {
+ lock_guard<recursive_mutex> obj(brightness_lock_);
+ if (pending_brightness_) {
+ Fence::Wait(retire_fence_);
+ SetPanelBrightness(cached_brightness_);
+ pending_brightness_ = false;
+ }
}
if (commit_event_enabled_) {