msm: smsm: Cache Flush on SMSM_RESET

Flush inner and outer cache when SMSM_RESET is received by apps proc.
On 7K targets, outer cache is not flushed during panic and ram dumps
do not provide all the updated information.

Change-Id: I97dd1ee10f9ad3656c1dda77f3e7f4542550ab13
Signed-off-by: Ram Somani <rsomani@codeaurora.org>
diff --git a/arch/arm/mach-msm/smd.c b/arch/arm/mach-msm/smd.c
index 3cf0550..d00dd1a 100644
--- a/arch/arm/mach-msm/smd.c
+++ b/arch/arm/mach-msm/smd.c
@@ -39,6 +39,7 @@
 #include <mach/system.h>
 #include <mach/subsystem_notif.h>
 #include <mach/socinfo.h>
+#include <asm/cacheflush.h>
 
 #include "smd_private.h"
 #include "proc_comm.h"
@@ -2473,10 +2474,12 @@
 			modem_queue_start_reset_notify();
 
 		} else if (modm & SMSM_RESET) {
-			if (!disable_smsm_reset_handshake)
-				apps |= SMSM_RESET;
-
 			pr_err("\nSMSM: Modem SMSM state changed to SMSM_RESET.");
+			if (!disable_smsm_reset_handshake) {
+				apps |= SMSM_RESET;
+				flush_cache_all();
+				outer_flush_all();
+			}
 			modem_queue_start_reset_notify();
 
 		} else if (modm & SMSM_INIT) {