diff options
author | Hsin-chen Chuang <chharry@chromium.org> | 2024-05-14 11:25:10 +0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2024-05-15 07:37:09 +0000 |
commit | 024dff8b3f1803d6ad09740e826978a49eb5d646 (patch) | |
tree | bcc5719a813279f2f351170894a9cbc18ae07b60 | |
parent | 1f2088a06bec5d42d0d57826fa3ffbabcbe9c1e6 (diff) | |
download | autotest-upstream-main.tar.gz |
floss: reset_on: Make sure adapter is down on btmanagerd before startupstream-main
btmanagerd would reject to start an index if it is not stopped.
BUG=b:340370209
TEST=bluetooth_AdapterSAHealth.sa_power_reset.floss
Change-Id: I20de9edf06c9d9f9a54c3008505a5019402ff530
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/5531358
Reviewed-by: Yun-hao Chung <howardchung@chromium.org>
Tested-by: Hsin-chen Chuang <chharry@google.com>
Commit-Queue: Hsin-chen Chuang <chharry@google.com>
-rw-r--r-- | client/cros/multimedia/bluetooth_facade.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/client/cros/multimedia/bluetooth_facade.py b/client/cros/multimedia/bluetooth_facade.py index 269ee0a693..473ea9487f 100644 --- a/client/cros/multimedia/bluetooth_facade.py +++ b/client/cros/multimedia/bluetooth_facade.py @@ -5136,8 +5136,10 @@ class FlossFacadeLocal(BluetoothBaseFacadeLocal): default_adapter = self.manager_client.get_default_adapter() - def _is_adapter_down(client): - return lambda: not client.has_proxy() + def _is_adapter_down(adapter, manager): + default_adapter = manager.get_default_adapter() + return lambda: (not adapter.has_proxy() and not manager. + get_adapter_enabled(default_adapter)) if powered and not self.manager_client.has_default_adapter(): logging.warning('set_powered: Default adapter not available.') @@ -5160,7 +5162,8 @@ class FlossFacadeLocal(BluetoothBaseFacadeLocal): self.manager_client.stop(default_adapter) try: utils.poll_for_condition( - condition=_is_adapter_down(self.adapter_client), + condition=_is_adapter_down(self.adapter_client, + self.manager_client), desc='Wait for adapter stop', sleep_interval=self.ADAPTER_CLIENT_POLL_INTERVAL, timeout=self.ADAPTER_DAEMON_TIMEOUT_SEC) |