hwc : Fix crash during dumpsys

Dumpsys runs in different thread not in composition thread.
Accessing mdp composition frame info in dumpsys with out
synchronizing could cause crash since frame info can get reset
in composition thread.

CRs-fixed: 503268

Change-Id: If3f7d8cc9fce8b14622e666fa52583ff0cfdedd2
diff --git a/libhwcomposer/hwc_mdpcomp.cpp b/libhwcomposer/hwc_mdpcomp.cpp
index ba6cae7..0e11590 100644
--- a/libhwcomposer/hwc_mdpcomp.cpp
+++ b/libhwcomposer/hwc_mdpcomp.cpp
@@ -52,6 +52,7 @@
 
 void MDPComp::dump(android::String8& buf)
 {
+    Locker::Autolock _l(mMdpCompLock);
     dumpsys_log(buf,"HWC Map for Dpy: %s \n",
                 mDpy ? "\"EXTERNAL\"" : "\"PRIMARY\"");
     dumpsys_log(buf,"PREV_FRAME: layerCount:%2d    mdpCount:%2d \
@@ -756,6 +757,9 @@
                  __FUNCTION__);
         return 0;
     }
+
+    Locker::Autolock _l(mMdpCompLock);
+
     //reset old data
     mCurrentFrame.reset(numLayers);
 
@@ -894,6 +898,8 @@
         return false;
     }
 
+    Locker::Autolock _l(mMdpCompLock);
+
     /* reset Invalidator */
     if(idleInvalidator && !sIdleFallBack && mCurrentFrame.mdpCount)
         idleInvalidator->markForSleep();
@@ -1063,6 +1069,8 @@
         return false;
     }
 
+    Locker::Autolock _l(mMdpCompLock);
+
     /* reset Invalidator */
     if(idleInvalidator && !sIdleFallBack && mCurrentFrame.mdpCount)
         idleInvalidator->markForSleep();