Hi Marcel On Wed, Apr 8, 2020 at 11:46 AM Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote: > > Hi Abhishek, > > > This looks good to me. > > > > Reviewed-by: Abhishek Pandit-Subedi <abhishekpandit@xxxxxxxxxxxx> > > however it is not enough, we also have to enable address resolution before calling LE Create Connection. It is actually a bit tricky to enable / disable address resolution correctly. When we receive directed_adv we disable the scan. which disables address_resolution. immediately I was trying to enable address resolution inside hci_req_add_le_create_conn @@ -813,6 +813,12 @@ static void hci_req_add_le_create_conn(struct hci_request *req, return; } + if (use_ll_privacy(hdev) && + !hci_dev_test_flag(hdev, HCI_LL_RPA_RESOLUTION)) { + __u8 enable = 0x01; + hci_req_add(req, HCI_OP_LE_SET_ADDR_RESOLV_ENABLE, 1, &enable); + } + if (use_ext_conn(hdev)) { struct hci_cp_le_ext_create_conn *cp; struct hci_cp_le_ext_conn_param *p; where this fails as the flag is not cleared yet. where the idea is to bool addr_resolv as below ->hci_req_add_le_scan_disable(req, addr_resolv) In which we can stop disabling addr_resolution and continue le_create_conn during hci_connect_le > > Regards > > Marcel > Regards Sathish N