summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorssaha <ssaha@qti.qualcomm.com>2018-05-16 10:16:29 +0530
committerErik Kline <ek@google.com>2018-05-18 14:45:33 +0900
commit0baec72ee58ed4ce18c00b094ea85726d264707d (patch)
tree6abe6701a25898b173e9685ce6fe624e37b87514
parent8a33ca28a70cf7f9594553ad2342c997b9a0a4b1 (diff)
downloadipacfg-mgr-0baec72ee58ed4ce18c00b094ea85726d264707d.tar.gz
- Currently if NAT iface is not added, IPACM cache setupstream events but default gw index will be set only after adding NAT iface. If IPACM receives stopOffload in between, then it is returning input check error to framework. Add check and clear event cache in case of stopOffload. - Fixed variable shadowing issue in HAL. Test: - build and boot - pass - VtsHalTetheroffloadControlV1_0TargetTest - pass - VTS Test AdditionalStopsWithInitReturnFalse - pass Change-Id: I335b7834c9a7567bc5bc05f683ec789b39c1efac Crs-fixed: 2228293 bug: 77996655 (cherry picked from commit b8c3d7ae84541f40c7b82e6c32ea1915ad4b1766)
-rw-r--r--msm8998/hal/src/HAL.cpp2
-rw-r--r--msm8998/ipacm/src/IPACM_OffloadManager.cpp10
2 files changed, 10 insertions, 2 deletions
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 @@ Return<void> HAL::setLocalPrefixes
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 @@ RET IPACM_OffloadManager::setUpstream(const char *upstream_name, const Prefix& g
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) {