Merge "gralloc: Do not map framebuffer memory unless needed"
diff --git a/libgralloc/framebuffer.cpp b/libgralloc/framebuffer.cpp
index 3828680..1851196 100644
--- a/libgralloc/framebuffer.cpp
+++ b/libgralloc/framebuffer.cpp
@@ -336,9 +336,15 @@
 
 static int mapFrameBuffer(struct private_module_t* module)
 {
-    pthread_mutex_lock(&module->lock);
-    int err = mapFrameBufferLocked(module);
-    pthread_mutex_unlock(&module->lock);
+    int err = 0;
+    char property[PROPERTY_VALUE_MAX];
+    if((property_get("debug.gralloc.map_fb_memory", property, NULL) > 0) &&
+       (!strncmp(property, "1", PROPERTY_VALUE_MAX ) ||
+        (!strncasecmp(property,"true", PROPERTY_VALUE_MAX )))) {
+        pthread_mutex_lock(&module->lock);
+        err = mapFrameBufferLocked(module);
+        pthread_mutex_unlock(&module->lock);
+    }
     return err;
 }