diff --git a/app/aboot/aboot.c b/app/aboot/aboot.c
index b134ec0..74e17e0 100644
--- a/app/aboot/aboot.c
+++ b/app/aboot/aboot.c
@@ -726,7 +726,7 @@
 void generate_atags(unsigned *ptr, const char *cmdline,
                     void *ramdisk, unsigned ramdisk_size)
 {
-
+	unsigned *orig_ptr = ptr;
 	ptr = atag_core(ptr);
 	ptr = atag_ramdisk(ptr, ramdisk, ramdisk_size);
 	ptr = target_atag_mem(ptr);
@@ -736,8 +736,18 @@
 		ptr = atag_ptable(&ptr);
 	}
 
-	ptr = atag_cmdline(ptr, cmdline);
-	ptr = atag_end(ptr);
+	/*
+	 * Atags size filled till + cmdline size + 1 unsigned for 4-byte boundary + 4 unsigned
+	 * for atag identifier in atag_cmdline and atag_end should be with in MAX_TAGS_SIZE bytes
+	 */
+	if (((ptr - orig_ptr) + strlen(cmdline) + 5 * sizeof(unsigned)) <  MAX_TAGS_SIZE) {
+		ptr = atag_cmdline(ptr, cmdline);
+		ptr = atag_end(ptr);
+	}
+	else {
+		dprintf(CRITICAL,"Crossing ATAGs Max size allowed\n");
+		ASSERT(0);
+	}
 }
 
 typedef void entry_func_ptr(unsigned, unsigned, unsigned*);
diff --git a/platform/msm8952/platform.c b/platform/msm8952/platform.c
index 251bbb9..df7bbfa 100644
--- a/platform/msm8952/platform.c
+++ b/platform/msm8952/platform.c
@@ -205,6 +205,7 @@
 	switch(platform)
 	{
 		case MSM8937:
+		case MSM8940:
 		case APQ8037:
 			ret = 1;
 			break;
diff --git a/platform/msm_shared/display_menu.c b/platform/msm_shared/display_menu.c
index fb4e0a8..cea4937 100644
--- a/platform/msm_shared/display_menu.c
+++ b/platform/msm_shared/display_menu.c
@@ -257,12 +257,16 @@
 
 	/* Align Right */
 	str_target = str_align_right(str1, big_factor);
-	if(str_target != NULL)
+	if(str_target != NULL) {
 		display_fbcon_menu_message(str_target, FBCON_TITLE_MSG, big_factor);
+		free(str_target);
+	}
 
 	str_target = str_align_right(str2, common_factor);
-	if(str_target != NULL)
+	if(str_target != NULL) {
 		display_fbcon_menu_message(str_target, FBCON_TITLE_MSG, common_factor);
+		free(str_target);
+	}
 
 	display_fbcon_menu_message("\n< More options\n",
 		FBCON_COMMON_MSG, common_factor);
@@ -296,9 +300,6 @@
 		"Your device will boot in 5 seconds\n\n", FBCON_COMMON_MSG, common_factor);
 
 	msg_info->info.msg_type = type;
-	if(str_target) {
-		free(str_target);
-	}
 
 	/* Initialize the time out time */
 	msg_info->info.timeout_time = 5000; //5s
diff --git a/platform/msm_shared/smem.h b/platform/msm_shared/smem.h
index d2e67d8..50193bd 100644
--- a/platform/msm_shared/smem.h
+++ b/platform/msm_shared/smem.h
@@ -447,6 +447,7 @@
 	MSM8953  = 293,
 	MSM8937 = 294,
 	APQ8037 = 295,
+	MSM8940 = 313,
 	MSM8996L = 302,
 	MSM8917  = 303,
 	APQ8053 = 304,
diff --git a/target/msm8952/init.c b/target/msm8952/init.c
index 47d3d04..d085f30 100644
--- a/target/msm8952/init.c
+++ b/target/msm8952/init.c
@@ -398,6 +398,7 @@
 	case MSM8956:
 	case MSM8976:
 	case MSM8937:
+	case MSM8940:
 	case MSM8917:
 	case MSM8217:
 	case MSM8617:
diff --git a/target/msm8952/oem_panel.c b/target/msm8952/oem_panel.c
index e01dfd0..60be169 100755
--- a/target/msm8952/oem_panel.c
+++ b/target/msm8952/oem_panel.c
@@ -707,6 +707,7 @@
 		memcpy(phy_db->timing,
 				lead_fl10802_fwvga_video_timings, TIMING_SIZE);
 		pinfo->mipi.signature = LEAD_FL10802_FWVGA_VIDEO_SIGNATURE;
+		pinfo->mipi.cmds_post_tg = 1;
 		break;
 	case UNKNOWN_PANEL:
 	default:
