diff options
author | ssaha <ssaha@qti.qualcomm.com> | 2018-05-16 10:16:29 +0530 |
---|---|---|
committer | Erik Kline <ek@google.com> | 2018-05-18 14:45:33 +0900 |
commit | 0baec72ee58ed4ce18c00b094ea85726d264707d (patch) | |
tree | 6abe6701a25898b173e9685ce6fe624e37b87514 | |
parent | 8a33ca28a70cf7f9594553ad2342c997b9a0a4b1 (diff) | |
download | ipacfg-mgr-0baec72ee58ed4ce18c00b094ea85726d264707d.tar.gz |
TetherOffload: Address VTS failure in AdditionalStopsWithInitReturnFalseandroid-9.0.0_r47android-9.0.0_r46android-9.0.0_r45android-9.0.0_r44android-9.0.0_r43android-9.0.0_r42android-9.0.0_r41android-9.0.0_r40android-9.0.0_r39android-9.0.0_r38android-9.0.0_r37android-9.0.0_r36android-9.0.0_r35android-9.0.0_r34android-9.0.0_r33android-9.0.0_r32android-9.0.0_r31android-9.0.0_r30android-9.0.0_r22android-9.0.0_r21android-9.0.0_r20android-9.0.0_r19android-9.0.0_r16android-9.0.0_r12android-9.0.0_r11pie-qpr3-s1-releasepie-qpr3-releasepie-qpr3-b-releasepie-qpr2-releasepie-qpr1-s3-releasepie-qpr1-s2-releasepie-qpr1-s1-releasepie-qpr1-releasepie-dr1-releasepie-dr1-devpie-devpie-b4s4-releasepie-b4s4-dev
- 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.cpp | 2 | ||||
-rw-r--r-- | msm8998/ipacm/src/IPACM_OffloadManager.cpp | 10 |
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) { |