mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
wifi(vts): Ignore IWifi.stop() returning ERROR_NOT_AVAILABLE
When IWifi.stop() is invoked back to back (happens in the ConfigureChip vts test), the HAL would return ERROR_NOT_AVAILABLE if the previous stop is still being processed. This is not an error that needs to fail the test, but a legitimate status for stop. We have a retry mechanism to handle this in both the VTS test and framework for the case where IWifi.start() is invoked while the previous stop is being processed. While there, corrected a few log messages emitted by the HAL to debug such startup/stop issues better. Bug: 63971806 Test: `vts-tradefed run commandAndExit vts --skip-all-system-status-check --primary-abi-only --skip-preconditions --module VtsHalWifiV1_0Target -l INFO` Change-Id: I5e3470ac97541a6ea10aceec9b737e5d03ed5206
This commit is contained in:
@@ -206,5 +206,7 @@ bool configureChipToSupportIfaceType(const sp<IWifiChip>& wifi_chip,
|
||||
void stopWifi() {
|
||||
sp<IWifi> wifi = getWifi();
|
||||
ASSERT_NE(wifi, nullptr);
|
||||
ASSERT_EQ(HIDL_INVOKE(wifi, stop).code, WifiStatusCode::SUCCESS);
|
||||
const auto status = HIDL_INVOKE(wifi, stop);
|
||||
ASSERT_TRUE((status.code == WifiStatusCode::SUCCESS) ||
|
||||
(status.code == WifiStatusCode::ERROR_NOT_AVAILABLE));
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ using android::hardware::joinRpcThreadpool;
|
||||
int main(int /*argc*/, char** argv) {
|
||||
android::base::InitLogging(argv,
|
||||
android::base::LogdLogger(android::base::SYSTEM));
|
||||
LOG(INFO) << "Wifi Hal is starting up...";
|
||||
LOG(INFO) << "Wifi Hal is booting up...";
|
||||
|
||||
configureRpcThreadpool(1, true /* callerWillJoin */);
|
||||
|
||||
|
||||
@@ -108,14 +108,15 @@ WifiStatus Wifi::startInternal() {
|
||||
LOG(ERROR) << "Failed to invoke onStart callback";
|
||||
};
|
||||
}
|
||||
LOG(INFO) << "Wifi HAL started";
|
||||
} else {
|
||||
for (const auto& callback : event_cb_handler_.getCallbacks()) {
|
||||
if (!callback->onFailure(wifi_status).isOk()) {
|
||||
LOG(ERROR) << "Failed to invoke onFailure callback";
|
||||
}
|
||||
}
|
||||
LOG(ERROR) << "Wifi HAL start failed";
|
||||
}
|
||||
LOG(INFO) << "Wifi HAL started";
|
||||
return wifi_status;
|
||||
}
|
||||
|
||||
@@ -139,14 +140,15 @@ WifiStatus Wifi::stopInternal() {
|
||||
LOG(ERROR) << "Failed to invoke onStop callback";
|
||||
};
|
||||
}
|
||||
LOG(INFO) << "Wifi HAL stopped";
|
||||
} else {
|
||||
for (const auto& callback : event_cb_handler_.getCallbacks()) {
|
||||
if (!callback->onFailure(wifi_status).isOk()) {
|
||||
LOG(ERROR) << "Failed to invoke onFailure callback";
|
||||
}
|
||||
}
|
||||
LOG(ERROR) << "Wifi HAL stop failed";
|
||||
}
|
||||
LOG(INFO) << "Wifi HAL stopped";
|
||||
return wifi_status;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user