diff options
author | Roshan Pius <rpius@google.com> | 2019-11-13 11:06:14 -0800 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2019-11-13 12:55:53 -0800 |
commit | 958dee87b8a57e054ecf31abd2c3a46eced48ab5 (patch) | |
tree | 81f1780cb696eae16644dfc8a65f77da781c01eb /wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp | |
parent | bbdd5e32fd5a5d6e8b13c8f2a0c12e02ea037953 (diff) |
wifi(vts): Set the iface up as a part of setup
Attempts to fix a VTS test failure reported by OEM's on devices
supporting concurrent AP iface.
Bug: 143096362
Test: make vts && vts-tradefed run commandAndExit vts --module VtsHalWifiV1_0Host
Test: Will need to ask OEM to verify the fix.
Change-Id: I0958d720411258761f4ac5bcccc823b06a55d518
Merged-In: I0958d720411258761f4ac5bcccc823b06a55d518
Diffstat (limited to 'wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp')
-rw-r--r-- | wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp b/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp index f89f7b4b44..45454bf7e3 100644 --- a/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp +++ b/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp @@ -18,12 +18,15 @@ #include <VtsHalHidlTargetTestBase.h> +#include <wifi_system/interface_tool.h> + #include "wifi_hidl_call_util.h" #include "wifi_hidl_test_utils.h" using ::android::hardware::wifi::V1_0::IWifi; using ::android::hardware::wifi::V1_0::IWifiApIface; using ::android::hardware::wifi::V1_0::IWifiChip; +using ::android::hardware::wifi::V1_0::IWifiIface; using ::android::hardware::wifi::V1_0::IWifiNanIface; using ::android::hardware::wifi::V1_0::IWifiP2pIface; using ::android::hardware::wifi::V1_0::IWifiRttController; @@ -36,6 +39,7 @@ using ::android::hardware::wifi::V1_0::WifiStatusCode; using ::android::sp; using ::android::hardware::hidl_string; using ::android::hardware::hidl_vec; +using ::android::wifi_system::InterfaceTool; extern WifiHidlEnvironment* gEnv; @@ -131,6 +135,16 @@ sp<IWifiChip> getWifiChip(const std::string& instance_name) { return status_and_chip.second; } +void setIfaceUp(const sp<IWifiIface>& iface) { + // Set the iface up before retrurning the object. + const auto& status_and_name = HIDL_INVOKE(iface, getName); + if (status_and_name.first.code == WifiStatusCode::SUCCESS) { + const auto& iface_name = status_and_name.second; + InterfaceTool iface_tool; + iface_tool.SetUpState(iface_name.c_str(), true); + } +} + sp<IWifiApIface> getWifiApIface(const std::string& instance_name) { sp<IWifiChip> wifi_chip = getWifiChip(instance_name); if (!wifi_chip.get()) { @@ -143,6 +157,7 @@ sp<IWifiApIface> getWifiApIface(const std::string& instance_name) { if (status_and_iface.first.code != WifiStatusCode::SUCCESS) { return nullptr; } + setIfaceUp(status_and_iface.second); return status_and_iface.second; } @@ -158,6 +173,7 @@ sp<IWifiNanIface> getWifiNanIface(const std::string& instance_name) { if (status_and_iface.first.code != WifiStatusCode::SUCCESS) { return nullptr; } + setIfaceUp(status_and_iface.second); return status_and_iface.second; } @@ -173,6 +189,7 @@ sp<IWifiP2pIface> getWifiP2pIface(const std::string& instance_name) { if (status_and_iface.first.code != WifiStatusCode::SUCCESS) { return nullptr; } + setIfaceUp(status_and_iface.second); return status_and_iface.second; } @@ -188,6 +205,7 @@ sp<IWifiStaIface> getWifiStaIface(const std::string& instance_name) { if (status_and_iface.first.code != WifiStatusCode::SUCCESS) { return nullptr; } + setIfaceUp(status_and_iface.second); return status_and_iface.second; } |