diff options
Diffstat (limited to 'hal/src/HAL.cpp')
-rw-r--r-- | hal/src/HAL.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/hal/src/HAL.cpp b/hal/src/HAL.cpp index d1d10fd..d72d274 100644 --- a/hal/src/HAL.cpp +++ b/hal/src/HAL.cpp @@ -40,7 +40,7 @@ /* External Includes */ #include <cutils/log.h> -#include <string> +#include <cstring> #include <sys/socket.h> #include <sys/types.h> #include <vector> @@ -93,7 +93,7 @@ void HAL::registerAsSystemService(const char* name) { ALOGI("Successfully registered IOffloadControl"); } - IOffloadConfig::registerAsService(); + ret = IOffloadConfig::registerAsService(); if (ret != 0) ALOGE("Failed to register IOffloadConfig (%d)", ret); else if (DBG) { ALOGI("Successfully registered IOffloadConfig"); @@ -407,6 +407,8 @@ Return<void> HAL::setLocalPrefixes LocalLogBuffer::FunctionLog fl(__func__); fl.addArg("prefixes", prefixesStr); + memset(&res,0,sizeof(BoolResult)); + if (!isInitialized()) { BoolResult res = makeInputCheckFailure("Not initialized"); } else if(prefixesStr.size() < 1) { @@ -469,6 +471,9 @@ Return<void> HAL::setDataLimit fl.setResult(res.success, res.errMsg); } else { RET ipaReturn = mIPA->setQuota(upstream.c_str(), limit); + if(ipaReturn == RET::FAIL_TRY_AGAIN) { + ipaReturn = RET::SUCCESS; + } BoolResult res = ipaResultToBoolResult(ipaReturn); hidl_cb(res.success, res.errMsg); fl.setResult(res.success, res.errMsg); @@ -521,8 +526,8 @@ Return<void> HAL::setUpstreamParameters } else if (iface.size()>= 1) { RET ipaReturn = mIPA->setUpstream( iface.c_str(), - v4GwParser.getFirstPrefix(IP_FAM::V4), - v6GwParser.getFirstPrefix(IP_FAM::V6)); + v4GwParser.getFirstPrefix(), + v6GwParser.getFirstPrefix()); BoolResult res = ipaResultToBoolResult(ipaReturn); hidl_cb(res.success, res.errMsg); fl.setResult(res.success, res.errMsg); |