Lines Matching defs:addr

2859 				    &key->addr.bdaddr);
2869 hci_add_link_key(hdev, NULL, &key->addr.bdaddr, key->val,
2885 bacpy(&ev.addr.bdaddr, bdaddr);
2886 ev.addr.type = addr_type;
2898 device_unpaired(hdev, &cp->addr.bdaddr, cp->addr.type, cmd->sk);
2910 if (cp->addr.type == BDADDR_BREDR)
2912 &cp->addr.bdaddr);
2914 conn = hci_conn_hash_lookup_le(hdev, &cp->addr.bdaddr,
2915 le_addr_type(cp->addr.type));
2935 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr);
2936 rp.addr.type = cp->addr.type;
2938 if (!bdaddr_type_is_valid(cp->addr.type))
2957 if (cp->addr.type == BDADDR_BREDR) {
2967 &cp->addr.bdaddr);
2971 err = hci_remove_link_key(hdev, &cp->addr.bdaddr);
2984 addr_type = le_addr_type(cp->addr.type);
2987 err = smp_cancel_and_remove_pairing(hdev, &cp->addr.bdaddr, addr_type);
2995 conn = hci_conn_hash_lookup_le(hdev, &cp->addr.bdaddr, addr_type);
2997 hci_conn_params_del(hdev, &cp->addr.bdaddr, addr_type);
3008 params = hci_conn_params_lookup(hdev, &cp->addr.bdaddr, addr_type);
3029 device_unpaired(hdev, &cp->addr.bdaddr, cp->addr.type, sk);
3064 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr);
3065 rp.addr.type = cp->addr.type;
3067 if (!bdaddr_type_is_valid(cp->addr.type))
3087 if (cp->addr.type == BDADDR_BREDR)
3089 &cp->addr.bdaddr);
3091 conn = hci_conn_hash_lookup_le(hdev, &cp->addr.bdaddr,
3092 le_addr_type(cp->addr.type));
3162 rp = kmalloc(struct_size(rp, addr, i), GFP_KERNEL);
3172 bacpy(&rp->addr[i].bdaddr, &c->dst);
3173 rp->addr[i].type = link_to_bdaddr(c->type, c->dst_type);
3183 struct_size(rp, addr, i));
3206 sizeof(cp->addr.bdaddr), &cp->addr.bdaddr);
3232 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &cp->addr.bdaddr);
3242 memcpy(&ncp.addr, &cp->addr, sizeof(ncp.addr));
3262 bacpy(&reply.bdaddr, &cp->addr.bdaddr);
3322 bacpy(&rp.addr.bdaddr, &conn->dst);
3323 rp.addr.type = link_to_bdaddr(conn->type, conn->dst_type);
3405 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr);
3406 rp.addr.type = cp->addr.type;
3408 if (!bdaddr_type_is_valid(cp->addr.type))
3427 if (hci_bdaddr_is_paired(hdev, &cp->addr.bdaddr, cp->addr.type)) {
3437 if (cp->addr.type == BDADDR_BREDR) {
3438 conn = hci_connect_acl(hdev, &cp->addr.bdaddr, sec_level,
3441 u8 addr_type = le_addr_type(cp->addr.type);
3453 p = hci_conn_params_add(hdev, &cp->addr.bdaddr, addr_type);
3458 conn = hci_connect_le_scan(hdev, &cp->addr.bdaddr, addr_type,
3497 if (cp->addr.type == BDADDR_BREDR) {
3526 struct mgmt_addr_info *addr = data;
3550 if (bacmp(&addr->bdaddr, &conn->dst) != 0) {
3560 addr, sizeof(*addr));
3566 if (addr->type == BDADDR_BREDR)
3567 hci_remove_link_key(hdev, &addr->bdaddr);
3569 smp_cancel_and_remove_pairing(hdev, &addr->bdaddr,
3570 le_addr_type(addr->type));
3581 struct mgmt_addr_info *addr, u16 mgmt_op,
3592 MGMT_STATUS_NOT_POWERED, addr,
3593 sizeof(*addr));
3597 if (addr->type == BDADDR_BREDR)
3598 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &addr->bdaddr);
3600 conn = hci_conn_hash_lookup_le(hdev, &addr->bdaddr,
3601 le_addr_type(addr->type));
3605 MGMT_STATUS_NOT_CONNECTED, addr,
3606 sizeof(*addr));
3610 if (addr->type == BDADDR_LE_PUBLIC || addr->type == BDADDR_LE_RANDOM) {
3614 MGMT_STATUS_SUCCESS, addr,
3615 sizeof(*addr));
3618 MGMT_STATUS_FAILED, addr,
3619 sizeof(*addr));
3624 cmd = mgmt_pending_add(sk, mgmt_op, hdev, addr, sizeof(*addr));
3636 bacpy(&cp.bdaddr, &addr->bdaddr);
3640 err = hci_send_cmd(hdev, hci_op, sizeof(addr->bdaddr),
3641 &addr->bdaddr);
3658 return user_pairing_resp(sk, hdev, &cp->addr,
3674 return user_pairing_resp(sk, hdev, &cp->addr,
3686 return user_pairing_resp(sk, hdev, &cp->addr,
3698 return user_pairing_resp(sk, hdev, &cp->addr,
3710 return user_pairing_resp(sk, hdev, &cp->addr,
4971 hci_find_irk_by_addr(hdev, &params->addr, params->addr_type))
4989 &cp->addr.bdaddr, cp->addr.type);
4997 if (cp->addr.type == BDADDR_BREDR) {
4999 &cp->addr.bdaddr,
5000 cp->addr.type);
5006 params = hci_conn_params_lookup(hdev, &cp->addr.bdaddr,
5007 le_addr_type(cp->addr.type));
5015 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr);
5016 rp.addr.type = cp->addr.type;
5035 bacpy(&ev.addr.bdaddr, bdaddr);
5036 ev.addr.type = bdaddr_type;
5054 &cp->addr.bdaddr, cp->addr.type, current_flags);
5067 if (cp->addr.type == BDADDR_BREDR) {
5069 &cp->addr.bdaddr,
5070 cp->addr.type);
5077 &cp->addr.bdaddr, cp->addr.type);
5083 params = hci_conn_params_lookup(hdev, &cp->addr.bdaddr,
5084 le_addr_type(cp->addr.type));
5087 &cp->addr.bdaddr, le_addr_type(cp->addr.type));
5113 device_flags_changed(sk, hdev, &cp->addr.bdaddr, cp->addr.type,
5117 &cp->addr, sizeof(cp->addr));
5621 struct mgmt_addr_info *addr = data;
5626 if (!bdaddr_type_is_valid(addr->type))
5630 addr, sizeof(*addr));
5638 if (cp->addr.type != BDADDR_BREDR) {
5642 &cp->addr, sizeof(cp->addr));
5646 err = hci_add_remote_oob_data(hdev, &cp->addr.bdaddr,
5647 cp->addr.type, cp->hash,
5656 &cp->addr, sizeof(cp->addr));
5662 if (bdaddr_type_is_le(cp->addr.type)) {
5671 addr, sizeof(*addr));
5703 err = hci_add_remote_oob_data(hdev, &cp->addr.bdaddr,
5704 cp->addr.type, hash192, rand192,
5713 status, &cp->addr, sizeof(cp->addr));
5735 if (cp->addr.type != BDADDR_BREDR)
5739 &cp->addr, sizeof(cp->addr));
5743 if (!bacmp(&cp->addr.bdaddr, BDADDR_ANY)) {
5749 err = hci_remove_remote_oob_data(hdev, &cp->addr.bdaddr, cp->addr.type);
5757 status, &cp->addr, sizeof(cp->addr));
6132 MGMT_STATUS_FAILED, &cp->addr,
6133 sizeof(cp->addr));
6137 e = hci_inquiry_cache_lookup_unknown(hdev, &cp->addr.bdaddr);
6140 MGMT_STATUS_INVALID_PARAMS, &cp->addr,
6141 sizeof(cp->addr));
6154 &cp->addr, sizeof(cp->addr));
6170 if (!bdaddr_type_is_valid(cp->addr.type))
6173 &cp->addr, sizeof(cp->addr));
6177 err = hci_bdaddr_list_add(&hdev->reject_list, &cp->addr.bdaddr,
6178 cp->addr.type);
6184 mgmt_event(MGMT_EV_DEVICE_BLOCKED, hdev, &cp->addr, sizeof(cp->addr),
6190 &cp->addr, sizeof(cp->addr));
6206 if (!bdaddr_type_is_valid(cp->addr.type))
6209 &cp->addr, sizeof(cp->addr));
6213 err = hci_bdaddr_list_del(&hdev->reject_list, &cp->addr.bdaddr,
6214 cp->addr.type);
6220 mgmt_event(MGMT_EV_DEVICE_UNBLOCKED, hdev, &cp->addr, sizeof(cp->addr),
6226 &cp->addr, sizeof(cp->addr));
7004 switch (irk->addr.type) {
7010 if ((irk->addr.bdaddr.b[5] & 0xc0) != 0xc0)
7066 u8 addr_type = le_addr_type(irk->addr.type);
7072 &irk->addr.bdaddr);
7076 /* When using SMP over BR/EDR, the addr type should be set to BREDR */
7077 if (irk->addr.type == BDADDR_BREDR)
7080 hci_add_irk(hdev, &irk->addr.bdaddr,
7099 switch (key->addr.type) {
7105 if ((key->addr.bdaddr.b[5] & 0xc0) != 0xc0)
7162 u8 addr_type = le_addr_type(key->addr.type);
7168 &key->addr.bdaddr);
7197 /* When using SMP over BR/EDR, the addr type should be set to BREDR */
7198 if (key->addr.type == BDADDR_BREDR)
7201 hci_add_ltk(hdev, &key->addr.bdaddr,
7224 memcpy(&rp.addr, &cp->addr, sizeof(rp.addr));
7252 if (cp->addr.type == BDADDR_BREDR)
7254 &cp->addr.bdaddr);
7256 conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, &cp->addr.bdaddr);
7270 if (!err && (!bdaddr_type_is_le(cp->addr.type) ||
7293 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr);
7294 rp.addr.type = cp->addr.type;
7296 if (!bdaddr_type_is_valid(cp->addr.type))
7310 if (cp->addr.type == BDADDR_BREDR)
7312 &cp->addr.bdaddr);
7314 conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, &cp->addr.bdaddr);
7383 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr);
7384 rp.addr.type = cp->addr.type;
7414 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &cp->addr.bdaddr);
7437 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr);
7438 rp.addr.type = cp->addr.type;
7440 if (cp->addr.type != BDADDR_BREDR)
7454 if (bacmp(&cp->addr.bdaddr, BDADDR_ANY)) {
7456 &cp->addr.bdaddr);
7489 static bool is_connected(struct hci_dev *hdev, bdaddr_t *addr, u8 type)
7493 conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, addr);
7507 static int hci_conn_params_set(struct hci_dev *hdev, bdaddr_t *addr,
7512 params = hci_conn_params_add(hdev, addr, addr_type);
7538 if (!is_connected(hdev, addr, addr_type))
7545 bt_dev_dbg(hdev, "addr %pMR (type %u) auto_connect %u",
7546 addr, addr_type, auto_connect);
7556 bacpy(&ev.addr.bdaddr, bdaddr);
7557 ev.addr.type = type;
7580 if (!bdaddr_type_is_valid(cp->addr.type) ||
7581 !bacmp(&cp->addr.bdaddr, BDADDR_ANY))
7584 &cp->addr, sizeof(cp->addr));
7589 &cp->addr, sizeof(cp->addr));
7593 if (cp->addr.type == BDADDR_BREDR) {
7599 &cp->addr, sizeof(cp->addr));
7604 &cp->addr.bdaddr,
7605 cp->addr.type, 0);
7614 addr_type = le_addr_type(cp->addr.type);
7628 if (!hci_is_identity_address(&cp->addr.bdaddr, addr_type)) {
7631 &cp->addr, sizeof(cp->addr));
7638 if (hci_conn_params_set(hdev, &cp->addr.bdaddr, addr_type,
7641 MGMT_STATUS_FAILED, &cp->addr,
7642 sizeof(cp->addr));
7645 params = hci_conn_params_lookup(hdev, &cp->addr.bdaddr,
7656 device_added(sk, hdev, &cp->addr.bdaddr, cp->addr.type, cp->action);
7658 device_flags_changed(NULL, hdev, &cp->addr.bdaddr, cp->addr.type,
7662 MGMT_STATUS_SUCCESS, &cp->addr,
7663 sizeof(cp->addr));
7675 bacpy(&ev.addr.bdaddr, bdaddr);
7676 ev.addr.type = type;
7696 if (bacmp(&cp->addr.bdaddr, BDADDR_ANY)) {
7700 if (!bdaddr_type_is_valid(cp->addr.type)) {
7704 &cp->addr, sizeof(cp->addr));
7708 if (cp->addr.type == BDADDR_BREDR) {
7710 &cp->addr.bdaddr,
7711 cp->addr.type);
7716 &cp->addr,
7717 sizeof(cp->addr));
7723 device_removed(sk, hdev, &cp->addr.bdaddr,
7724 cp->addr.type);
7728 addr_type = le_addr_type(cp->addr.type);
7735 if (!hci_is_identity_address(&cp->addr.bdaddr, addr_type)) {
7739 &cp->addr, sizeof(cp->addr));
7743 params = hci_conn_params_lookup(hdev, &cp->addr.bdaddr,
7749 &cp->addr, sizeof(cp->addr));
7758 &cp->addr, sizeof(cp->addr));
7764 device_removed(sk, hdev, &cp->addr.bdaddr, cp->addr.type);
7769 if (cp->addr.type) {
7773 &cp->addr, sizeof(cp->addr));
7788 device_removed(sk, hdev, &p->addr, p->addr_type);
7803 MGMT_STATUS_SUCCESS, &cp->addr,
7804 sizeof(cp->addr));
7851 bt_dev_dbg(hdev, "Adding %pMR (type %u)", &param->addr.bdaddr,
7852 param->addr.type);
7854 if (param->addr.type == BDADDR_LE_PUBLIC) {
7856 } else if (param->addr.type == BDADDR_LE_RANDOM) {
7876 hci_param = hci_conn_params_add(hdev, &param->addr.bdaddr,
8155 u8 status, flags, role, addr[7], hash[16], rand[16];
8246 memcpy(addr, &hdev->static_addr, 6);
8247 addr[6] = 0x01;
8249 memcpy(addr, &hdev->bdaddr, 6);
8250 addr[6] = 0x00;
8254 addr, sizeof(addr));
9468 bacpy(&ev.key.addr.bdaddr, &key->bdaddr);
9469 ev.key.addr.type = link_to_bdaddr(key->link_type, key->bdaddr_type);
9519 bacpy(&ev.key.addr.bdaddr, &key->bdaddr);
9520 ev.key.addr.type = link_to_bdaddr(key->link_type, key->bdaddr_type);
9548 bacpy(&ev.irk.addr.bdaddr, &irk->bdaddr);
9549 ev.irk.addr.type = link_to_bdaddr(irk->link_type, irk->addr_type);
9577 bacpy(&ev.key.addr.bdaddr, &csrk->bdaddr);
9578 ev.key.addr.type = link_to_bdaddr(csrk->link_type, csrk->bdaddr_type);
9595 bacpy(&ev.addr.bdaddr, bdaddr);
9596 ev.addr.type = link_to_bdaddr(LE_LINK, bdaddr_type);
9627 bacpy(&ev->addr.bdaddr, &conn->dst);
9628 ev->addr.type = link_to_bdaddr(conn->type, conn->dst_type);
9673 device_unpaired(hdev, &cp->addr.bdaddr, cp->addr.type, cmd->sk);
9710 bacpy(&ev.addr.bdaddr, bdaddr);
9711 ev.addr.type = link_to_bdaddr(link_type, addr_type);
9743 if (bacmp(bdaddr, &cp->addr.bdaddr))
9746 if (cp->addr.type != bdaddr_type)
9758 bacpy(&ev.addr.bdaddr, bdaddr);
9759 ev.addr.type = link_to_bdaddr(link_type, addr_type);
9769 bacpy(&ev.addr.bdaddr, bdaddr);
9770 ev.addr.type = BDADDR_BREDR;
9810 bacpy(&ev.addr.bdaddr, bdaddr);
9811 ev.addr.type = link_to_bdaddr(link_type, addr_type);
9826 bacpy(&ev.addr.bdaddr, bdaddr);
9827 ev.addr.type = link_to_bdaddr(link_type, addr_type);
9887 bacpy(&ev.addr.bdaddr, bdaddr);
9888 ev.addr.type = link_to_bdaddr(link_type, addr_type);
9901 bacpy(&ev.addr.bdaddr, &conn->dst);
9902 ev.addr.type = link_to_bdaddr(conn->type, conn->dst_type);
10133 bacpy(&ev.addr.bdaddr, bdaddr);
10134 ev.addr.type = addr_type;
10281 bacpy(&ev->addr.bdaddr, bdaddr);
10282 ev->addr.type = link_to_bdaddr(LE_LINK, addr_type);
10366 bacpy(&ev->addr.bdaddr, bdaddr);
10367 ev->addr.type = link_to_bdaddr(link_type, addr_type);
10404 bacpy(&ev->addr.bdaddr, bdaddr);
10405 ev->addr.type = link_to_bdaddr(link_type, addr_type);
10447 bacpy(&ev.addr.bdaddr, bdaddr);
10448 ev.addr.type = addr_type;
10450 memset(&ev.addr, 0, sizeof(ev.addr));