HWC: Protect hwc_set from async events

Wait for hwc_set completion if already in progress before processing
the async events.

Bug: 7288769
Change-Id: Ibdd0ee82f079df566b899c94df19f6bb1031d686
Signed-off-by: Iliyan Malchev <malchev@google.com>
diff --git a/libhwcomposer/hwc_uevents.cpp b/libhwcomposer/hwc_uevents.cpp
index a7f58ea..987957a 100644
--- a/libhwcomposer/hwc_uevents.cpp
+++ b/libhwcomposer/hwc_uevents.cpp
@@ -59,6 +59,7 @@
             ctx->mExtDisplay->setExternalDisplay(connected);;
         } else if(!(strncmp(str,"offline@",strlen("offline@")))) {
             connected = 0;
+            Locker::Autolock _l(ctx->mExtSetLock);
             ctx->mExtDisplay->setExternalDisplay(connected);;
         }
     }