diff --git a/graphics/composer/2.1/utils/hwc2on1adapter/HWC2On1Adapter.cpp b/graphics/composer/2.1/utils/hwc2on1adapter/HWC2On1Adapter.cpp index 3d138f7308..8b5ebb9f78 100644 --- a/graphics/composer/2.1/utils/hwc2on1adapter/HWC2On1Adapter.cpp +++ b/graphics/composer/2.1/utils/hwc2on1adapter/HWC2On1Adapter.cpp @@ -2590,13 +2590,6 @@ void HWC2On1Adapter::hwc1Hotplug(int hwc1DisplayId, int connected) { std::unique_lock lock(mStateMutex); - // If the HWC2-side callback hasn't been registered yet, buffer this until - // it is registered - if (mCallbacks.count(Callback::Hotplug) == 0) { - mPendingHotplugs.emplace_back(hwc1DisplayId, connected); - return; - } - hwc2_display_t displayId = UINT64_MAX; if (mHwc1DisplayMap.count(hwc1DisplayId) == 0) { if (connected == 0) { @@ -2625,6 +2618,13 @@ void HWC2On1Adapter::hwc1Hotplug(int hwc1DisplayId, int connected) { mDisplays.erase(displayId); } + // If the HWC2-side callback hasn't been registered yet, buffer this until + // it is registered + if (mCallbacks.count(Callback::Hotplug) == 0) { + mPendingHotplugs.emplace_back(hwc1DisplayId, connected); + return; + } + const auto& callbackInfo = mCallbacks[Callback::Hotplug]; // Call back without the state lock held