diff --git a/wifi/1.0/default/wifi.cpp b/wifi/1.0/default/wifi.cpp index 3d482b4e7e..b48844ef2a 100644 --- a/wifi/1.0/default/wifi.cpp +++ b/wifi/1.0/default/wifi.cpp @@ -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) {