diff options
-rw-r--r-- | system/gd/rust/linux/stack/src/bluetooth.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/system/gd/rust/linux/stack/src/bluetooth.rs b/system/gd/rust/linux/stack/src/bluetooth.rs index 6aa3529873..e7bff62c5c 100644 --- a/system/gd/rust/linux/stack/src/bluetooth.rs +++ b/system/gd/rust/linux/stack/src/bluetooth.rs @@ -949,6 +949,10 @@ impl IBluetooth for Bluetooth { } let address = addr.unwrap(); + + // BREDR connection won't work when Inquiry is in progress. + self.cancel_discovery(); + self.intf.lock().unwrap().create_bond(&address, transport) == 0 } @@ -1153,6 +1157,9 @@ impl IBluetooth for Bluetooth { return false; } + // BREDR connection won't work when Inquiry is in progress. + self.cancel_discovery(); + // Check all remote uuids to see if they match enabled profiles and connect them. let uuids = self.get_remote_uuids(device.clone()); for uuid in uuids.iter() { |