Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 09258a2a authored by Roshan Pius's avatar Roshan Pius Committed by Gerrit Code Review
Browse files

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

parents 96b3cce9 f12f1ee2
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -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) {