Lines Matching refs:irk
2383 struct smp_irk *irk; in hci_find_irk_by_rpa() local
2386 list_for_each_entry_rcu(irk, &hdev->identity_resolving_keys, list) { in hci_find_irk_by_rpa()
2387 if (!bacmp(&irk->rpa, rpa)) { in hci_find_irk_by_rpa()
2389 return irk; in hci_find_irk_by_rpa()
2393 list_for_each_entry_rcu(irk, &hdev->identity_resolving_keys, list) { in hci_find_irk_by_rpa()
2394 if (smp_irk_matches(hdev, irk->val, rpa)) { in hci_find_irk_by_rpa()
2395 bacpy(&irk->rpa, rpa); in hci_find_irk_by_rpa()
2397 return irk; in hci_find_irk_by_rpa()
2408 struct smp_irk *irk; in hci_find_irk_by_addr() local
2415 list_for_each_entry_rcu(irk, &hdev->identity_resolving_keys, list) { in hci_find_irk_by_addr()
2416 if (addr_type == irk->addr_type && in hci_find_irk_by_addr()
2417 bacmp(bdaddr, &irk->bdaddr) == 0) { in hci_find_irk_by_addr()
2419 return irk; in hci_find_irk_by_addr()
2506 struct smp_irk *irk; in hci_add_irk() local
2508 irk = hci_find_irk_by_addr(hdev, bdaddr, addr_type); in hci_add_irk()
2509 if (!irk) { in hci_add_irk()
2510 irk = kzalloc(sizeof(*irk), GFP_KERNEL); in hci_add_irk()
2511 if (!irk) in hci_add_irk()
2514 bacpy(&irk->bdaddr, bdaddr); in hci_add_irk()
2515 irk->addr_type = addr_type; in hci_add_irk()
2517 list_add_rcu(&irk->list, &hdev->identity_resolving_keys); in hci_add_irk()
2520 memcpy(irk->val, val, 16); in hci_add_irk()
2521 bacpy(&irk->rpa, rpa); in hci_add_irk()
2523 return irk; in hci_add_irk()
2579 struct smp_irk *irk; in hci_bdaddr_is_paired() local
2594 irk = hci_get_irk(hdev, bdaddr, addr_type); in hci_bdaddr_is_paired()
2595 if (irk) { in hci_bdaddr_is_paired()
2596 bdaddr = &irk->bdaddr; in hci_bdaddr_is_paired()
2597 addr_type = irk->addr_type; in hci_bdaddr_is_paired()