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

Commit 56439da7 authored by IHLHO KIM's avatar IHLHO KIM Committed by Jakub Pawlowski
Browse files

Save reversed BR/EDR link key derived from LE LTK

Authentication is failed between Android Q and Android P or earlier when derived link key is used.

Repro steps:
1. Try to LE connect & pair(LE secure connection) with Android P device from Android Q device
2. Try to connect PAN from Android Q device to Android P device
3. Connection failed

This issue is caused by the following change.
https://android.googlesource.com/platform/system/bt/+/fc22b0f43849362bdd958cc518d4e4e54b654c8c

This fix just reverts removed line from the previous change.
Bug: 143940249
Change-Id: I5d18cdd76b6c436dad010caf514ab0d78997f091
parent 175fdfd7
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -987,7 +987,8 @@ bool smp_calculate_link_key_from_long_term_key(tSMP_CB* p_cb) {

  link_key_type += BTM_LTK_DERIVED_LKEY_OFFSET;

  Octet16 notif_link_key = link_key;
  Octet16 notif_link_key;
  std::reverse_copy(link_key.begin(), link_key.end(), notif_link_key.begin());
  btm_sec_link_key_notification(bda_for_lk, notif_link_key, link_key_type);

  SMP_TRACE_EVENT("%s is completed", __func__);