We currently use a 10-second timeout for connecting to a host device (i.e., we start advertising/scanning, and if we don't get a response back in 10s, we try another host device).
However, starting up advertising/scanning is asynchronous. If it eventually fails to start up, we still wait the entire 10 seconds before giving up and trying another device, even though there is no actual way for the connection to occur since BLE failed.
We should give up that attempt and retry immediately instead of waiting 10s.
Comment 1 by khorimoto@chromium.org
, Jan 3 2018