Merge "wifi(implementation): Clear the chip immediately on IWifi.stop()"

This commit is contained in:
Roshan Pius
2017-03-08 00:33:43 +00:00
committed by Gerrit Code Review

View File

@@ -115,6 +115,7 @@ WifiStatus Wifi::startInternal() {
}
}
}
LOG(INFO) << "Wifi HAL started";
return wifi_status;
}
@@ -139,6 +140,13 @@ WifiStatus Wifi::stopInternal() {
}
}
}
// Clear the chip object and its child objects since the HAL is now
// stopped.
if (chip_.get()) {
chip_->invalidate();
chip_.clear();
}
LOG(INFO) << "Wifi HAL stopped";
return wifi_status;
}
@@ -172,13 +180,7 @@ WifiStatus Wifi::initializeLegacyHal() {
WifiStatus Wifi::stopLegacyHalAndDeinitializeModeController() {
run_state_ = RunState::STOPPING;
const auto on_complete_callback_ = [&]() {
if (chip_.get()) {
chip_->invalidate();
}
chip_.clear();
run_state_ = RunState::STOPPED;
};
const auto on_complete_callback_ = [&]() { run_state_ = RunState::STOPPED; };
legacy_hal::wifi_error legacy_status =
legacy_hal_->stop(on_complete_callback_);
if (legacy_status != legacy_hal::WIFI_SUCCESS) {