Hi Spoorthi, On 18 Sep 2019, at 13.36, spoorthix.k@xxxxxxxxx wrote: > +static void add_to_resolve_list(struct hci_request *req, > + struct hci_conn_params *params) > +{ > + struct hci_cp_le_add_to_resolv_list cp; > + struct bdaddr_list_with_irk *entry; > + > + entry = kzalloc(sizeof(*entry), GFP_KERNEL); > + if (!entry) > + return; > + > + memset(&cp, 0, sizeof(cp)); > + > + cp.bdaddr_type = params->addr_type; > + bacpy(&cp.bdaddr, ¶ms->addr); > + memcpy(entry->peer_irk, cp.peer_irk, 16); > + memcpy(entry->local_irk, cp.local_irk, 16); > + > + hci_req_add(req, HCI_OP_LE_ADD_TO_RESOLV_LIST, sizeof(cp), &cp); > +} Are you missing a call to add the entry to some list here? As it stands now this just results in the allocated memory being leaked. Where & when should it be freed? Johan