Snap for 4793185 from 0baec72ee58ed4ce18c00b094ea85726d264707d to pi-release

Change-Id: I7750f429d021d237b7b9d1120edbb77e2625f060
diff --git a/msm8998/hal/src/HAL.cpp b/msm8998/hal/src/HAL.cpp
index 11dd26d..42fe868 100644
--- a/msm8998/hal/src/HAL.cpp
+++ b/msm8998/hal/src/HAL.cpp
@@ -408,7 +408,7 @@
     fl.addArg("prefixes", prefixesStr);
 
     if (!isInitialized()) {
-        BoolResult res = makeInputCheckFailure("Not initialized");
+        res = makeInputCheckFailure("Not initialized");
     } else if(prefixesStr.size() < 1) {
         res = ipaResultToBoolResult(RET::FAIL_INPUT_CHECK);
     } else if (!parser.add(prefixesStr)) {
diff --git a/msm8998/ipacm/src/IPACM_OffloadManager.cpp b/msm8998/ipacm/src/IPACM_OffloadManager.cpp
index 4010e72..1645e89 100644
--- a/msm8998/ipacm/src/IPACM_OffloadManager.cpp
+++ b/msm8998/ipacm/src/IPACM_OffloadManager.cpp
@@ -349,7 +349,15 @@
 	if(upstream_name == NULL)
 	{
 		if (default_gw_index == INVALID_IFACE) {
-			IPACMERR("no previous upstream set before\n");
+			for (index = 0; index < MAX_EVENT_CACHE; index++) {
+  				if (event_cache[index].valid == true &&
+      			            event_cache[index].event == IPA_WAN_UPSTREAM_ROUTE_ADD_EVENT) {
+    					event_cache[index].valid = false;
+    					memset(event_cache, 0, MAX_EVENT_CACHE*sizeof(framework_event_cache));
+    					return SUCCESS;
+  				}
+			}
+                        IPACMERR("no previous upstream set before\n");
 			return FAIL_INPUT_CHECK;
 		}
 		if (gw_addr_v4.fam == V4 && upstream_v4_up == true) {