Lines Matching refs:conn

1488 	struct hci_conn *conn;  in clean_up_hci_state()  local
1508 list_for_each_entry(conn, &hdev->conn_hash.list, list) { in clean_up_hci_state()
1512 switch (conn->state) { in clean_up_hci_state()
1515 dc.handle = cpu_to_le16(conn->handle); in clean_up_hci_state()
1520 if (conn->type == LE_LINK) in clean_up_hci_state()
1523 else if (conn->type == ACL_LINK) in clean_up_hci_state()
1525 6, &conn->dst); in clean_up_hci_state()
1528 bacpy(&rej.bdaddr, &conn->dst); in clean_up_hci_state()
1530 if (conn->type == ACL_LINK) in clean_up_hci_state()
1533 else if (conn->type == SCO_LINK) in clean_up_hci_state()
2921 struct hci_conn *conn; in unpair_device() local
2956 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, in unpair_device()
2959 conn = NULL; in unpair_device()
2970 conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, in unpair_device()
2972 if (conn) { in unpair_device()
2977 set_bit(HCI_CONN_PARAM_REMOVAL_PEND, &conn->flags); in unpair_device()
2984 conn = NULL; in unpair_device()
3004 if (!conn) { in unpair_device()
3020 dc.handle = cpu_to_le16(conn->handle); in unpair_device()
3037 struct hci_conn *conn; in disconnect() local
3067 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, in disconnect()
3070 conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, &cp->addr.bdaddr); in disconnect()
3072 if (!conn || conn->state == BT_OPEN || conn->state == BT_CLOSED) { in disconnect()
3087 err = hci_disconnect(conn, HCI_ERROR_REMOTE_USER_TERM); in disconnect()
3195 struct hci_conn *conn; in pin_code_reply() local
3211 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &cp->addr.bdaddr); in pin_code_reply()
3212 if (!conn) { in pin_code_reply()
3218 if (conn->pending_sec_level == BT_SECURITY_HIGH && cp->pin_len != 16) { in pin_code_reply()
3278 static struct mgmt_pending_cmd *find_pairing(struct hci_conn *conn) in find_pairing() argument
3280 struct hci_dev *hdev = conn->hdev; in find_pairing()
3287 if (cmd->user_data != conn) in find_pairing()
3299 struct hci_conn *conn = cmd->user_data; in pairing_complete() local
3302 bacpy(&rp.addr.bdaddr, &conn->dst); in pairing_complete()
3303 rp.addr.type = link_to_bdaddr(conn->type, conn->dst_type); in pairing_complete()
3309 conn->connect_cfm_cb = NULL; in pairing_complete()
3310 conn->security_cfm_cb = NULL; in pairing_complete()
3311 conn->disconn_cfm_cb = NULL; in pairing_complete()
3313 hci_conn_drop(conn); in pairing_complete()
3318 clear_bit(HCI_CONN_PARAM_REMOVAL_PEND, &conn->flags); in pairing_complete()
3320 hci_conn_put(conn); in pairing_complete()
3325 void mgmt_smp_complete(struct hci_conn *conn, bool complete) in mgmt_smp_complete() argument
3330 cmd = find_pairing(conn); in mgmt_smp_complete()
3337 static void pairing_complete_cb(struct hci_conn *conn, u8 status) in pairing_complete_cb() argument
3343 cmd = find_pairing(conn); in pairing_complete_cb()
3353 static void le_pairing_complete_cb(struct hci_conn *conn, u8 status) in le_pairing_complete_cb() argument
3362 cmd = find_pairing(conn); in le_pairing_complete_cb()
3379 struct hci_conn *conn; in pair_device() local
3418 conn = hci_connect_acl(hdev, &cp->addr.bdaddr, sec_level, in pair_device()
3441 conn = hci_connect_le(hdev, &cp->addr.bdaddr, addr_type, in pair_device()
3446 if (IS_ERR(conn)) { in pair_device()
3449 if (PTR_ERR(conn) == -EBUSY) in pair_device()
3451 else if (PTR_ERR(conn) == -EOPNOTSUPP) in pair_device()
3453 else if (PTR_ERR(conn) == -ECONNREFUSED) in pair_device()
3463 if (conn->connect_cfm_cb) { in pair_device()
3464 hci_conn_drop(conn); in pair_device()
3473 hci_conn_drop(conn); in pair_device()
3481 conn->connect_cfm_cb = pairing_complete_cb; in pair_device()
3482 conn->security_cfm_cb = pairing_complete_cb; in pair_device()
3483 conn->disconn_cfm_cb = pairing_complete_cb; in pair_device()
3485 conn->connect_cfm_cb = le_pairing_complete_cb; in pair_device()
3486 conn->security_cfm_cb = le_pairing_complete_cb; in pair_device()
3487 conn->disconn_cfm_cb = le_pairing_complete_cb; in pair_device()
3490 conn->io_capability = cp->io_cap; in pair_device()
3491 cmd->user_data = hci_conn_get(conn); in pair_device()
3493 if ((conn->state == BT_CONNECTED || conn->state == BT_CONFIG) && in pair_device()
3494 hci_conn_security(conn, sec_level, auth_type, true)) { in pair_device()
3511 struct hci_conn *conn; in cancel_pair_device() local
3531 conn = cmd->user_data; in cancel_pair_device()
3533 if (bacmp(&addr->bdaddr, &conn->dst) != 0) { in cancel_pair_device()
3554 struct hci_conn *conn; in user_pairing_resp() local
3567 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &addr->bdaddr); in user_pairing_resp()
3569 conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, &addr->bdaddr); in user_pairing_resp()
3571 if (!conn) { in user_pairing_resp()
3579 err = smp_user_confirm_reply(conn, mgmt_op, passkey); in user_pairing_resp()
5583 struct hci_conn *conn = cmd->user_data; in conn_info_cmd_complete() local
5590 rp.rssi = conn->rssi; in conn_info_cmd_complete()
5591 rp.tx_power = conn->tx_power; in conn_info_cmd_complete()
5592 rp.max_tx_power = conn->max_tx_power; in conn_info_cmd_complete()
5602 hci_conn_drop(conn); in conn_info_cmd_complete()
5603 hci_conn_put(conn); in conn_info_cmd_complete()
5613 struct hci_conn *conn; in conn_info_refresh_complete() local
5644 conn = hci_conn_hash_lookup_handle(hdev, handle); in conn_info_refresh_complete()
5645 if (!conn) { in conn_info_refresh_complete()
5650 cmd = pending_find_data(MGMT_OP_GET_CONN_INFO, hdev, conn); in conn_info_refresh_complete()
5666 struct hci_conn *conn; in get_conn_info() local
5691 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, in get_conn_info()
5694 conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, &cp->addr.bdaddr); in get_conn_info()
5696 if (!conn || conn->state != BT_CONNECTED) { in get_conn_info()
5703 if (pending_find_data(MGMT_OP_GET_CONN_INFO, hdev, conn)) { in get_conn_info()
5719 if (time_after(jiffies, conn->conn_info_timestamp + in get_conn_info()
5721 !conn->conn_info_timestamp) { in get_conn_info()
5728 req_rssi_cp.handle = cpu_to_le16(conn->handle); in get_conn_info()
5736 conn->tx_power == HCI_TX_POWER_INVALID) { in get_conn_info()
5737 req_txp_cp.handle = cpu_to_le16(conn->handle); in get_conn_info()
5744 if (conn->max_tx_power == HCI_TX_POWER_INVALID) { in get_conn_info()
5745 req_txp_cp.handle = cpu_to_le16(conn->handle); in get_conn_info()
5762 hci_conn_hold(conn); in get_conn_info()
5763 cmd->user_data = hci_conn_get(conn); in get_conn_info()
5766 conn->conn_info_timestamp = jiffies; in get_conn_info()
5769 rp.rssi = conn->rssi; in get_conn_info()
5770 rp.tx_power = conn->tx_power; in get_conn_info()
5771 rp.max_tx_power = conn->max_tx_power; in get_conn_info()
5784 struct hci_conn *conn = cmd->user_data; in clock_info_cmd_complete() local
5801 if (conn) { in clock_info_cmd_complete()
5802 rp.piconet_clock = cpu_to_le32(conn->clock); in clock_info_cmd_complete()
5803 rp.accuracy = cpu_to_le16(conn->clock_accuracy); in clock_info_cmd_complete()
5810 if (conn) { in clock_info_cmd_complete()
5811 hci_conn_drop(conn); in clock_info_cmd_complete()
5812 hci_conn_put(conn); in clock_info_cmd_complete()
5822 struct hci_conn *conn; in get_clock_info_complete() local
5834 conn = hci_conn_hash_lookup_handle(hdev, handle); in get_clock_info_complete()
5836 conn = NULL; in get_clock_info_complete()
5839 cmd = pending_find_data(MGMT_OP_GET_CLOCK_INFO, hdev, conn); in get_clock_info_complete()
5858 struct hci_conn *conn; in get_clock_info() local
5882 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, in get_clock_info()
5884 if (!conn || conn->state != BT_CONNECTED) { in get_clock_info()
5892 conn = NULL; in get_clock_info()
5908 if (conn) { in get_clock_info()
5909 hci_conn_hold(conn); in get_clock_info()
5910 cmd->user_data = hci_conn_get(conn); in get_clock_info()
5912 hci_cp.handle = cpu_to_le16(conn->handle); in get_clock_info()
5928 struct hci_conn *conn; in is_connected() local
5930 conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, addr); in is_connected()
5931 if (!conn) in is_connected()
5934 if (conn->dst_type != type) in is_connected()
5937 if (conn->state != BT_CONNECTED) in is_connected()
7694 void mgmt_device_connected(struct hci_dev *hdev, struct hci_conn *conn, in mgmt_device_connected() argument
7701 bacpy(&ev->addr.bdaddr, &conn->dst); in mgmt_device_connected()
7702 ev->addr.type = link_to_bdaddr(conn->type, conn->dst_type); in mgmt_device_connected()
7710 if (conn->le_adv_data_len > 0) { in mgmt_device_connected()
7712 conn->le_adv_data, conn->le_adv_data_len); in mgmt_device_connected()
7713 eir_len = conn->le_adv_data_len; in mgmt_device_connected()
7719 if (memcmp(conn->dev_class, "\0\0\0", 3) != 0) in mgmt_device_connected()
7722 conn->dev_class, 3); in mgmt_device_connected()
7982 void mgmt_auth_failed(struct hci_conn *conn, u8 hci_status) in mgmt_auth_failed() argument
7988 bacpy(&ev.addr.bdaddr, &conn->dst); in mgmt_auth_failed()
7989 ev.addr.type = link_to_bdaddr(conn->type, conn->dst_type); in mgmt_auth_failed()
7992 cmd = find_pairing(conn); in mgmt_auth_failed()
7994 mgmt_event(MGMT_EV_AUTH_FAILED, conn->hdev, &ev, sizeof(ev), in mgmt_auth_failed()