Lines Matching defs:ev

2026 	struct hci_ev_conn_complete *ev = (void *) skb->data;
2033 conn = hci_conn_hash_lookup_ba(hdev, ev->link_type, &ev->bdaddr);
2035 if (ev->link_type != SCO_LINK)
2038 conn = hci_conn_hash_lookup_ba(hdev, ESCO_LINK, &ev->bdaddr);
2045 if (!ev->status) {
2046 conn->handle = __le16_to_cpu(ev->handle);
2053 !hci_find_link_key(hdev, &ev->bdaddr))
2071 cp.handle = ev->handle;
2081 cp.handle = ev->handle;
2090 conn->dst_type, ev->status);
2094 hci_sco_setup(conn, ev->status);
2096 if (ev->status) {
2097 hci_proto_connect_cfm(conn, ev->status);
2099 } else if (ev->link_type != ACL_LINK)
2100 hci_proto_connect_cfm(conn, ev->status);
2119 struct hci_ev_conn_request *ev = (void *) skb->data;
2125 BT_DBG("%s bdaddr %pMR type 0x%x", hdev->name, &ev->bdaddr,
2126 ev->link_type);
2128 mask |= hci_proto_connect_ind(hdev, &ev->bdaddr, ev->link_type,
2132 hci_reject_conn(hdev, &ev->bdaddr);
2136 if (hci_bdaddr_list_lookup(&hdev->blacklist, &ev->bdaddr,
2138 hci_reject_conn(hdev, &ev->bdaddr);
2143 !hci_bdaddr_list_lookup(&hdev->whitelist, &ev->bdaddr,
2145 hci_reject_conn(hdev, &ev->bdaddr);
2153 ie = hci_inquiry_cache_lookup(hdev, &ev->bdaddr);
2155 memcpy(ie->data.dev_class, ev->dev_class, 3);
2157 conn = hci_conn_hash_lookup_ba(hdev, ev->link_type,
2158 &ev->bdaddr);
2160 conn = hci_conn_add(hdev, ev->link_type, &ev->bdaddr,
2169 memcpy(conn->dev_class, ev->dev_class, 3);
2173 if (ev->link_type == ACL_LINK ||
2178 bacpy(&cp.bdaddr, &ev->bdaddr);
2190 bacpy(&cp.bdaddr, &ev->bdaddr);
2225 struct hci_ev_disconn_complete *ev = (void *) skb->data;
2226 u8 reason = hci_to_mgmt_reason(ev->reason);
2232 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
2236 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
2240 if (ev->status) {
2242 conn->dst_type, ev->status);
2263 if (ev->reason != HCI_ERROR_CONNECTION_TIMEOUT)
2281 hci_proto_disconn_cfm(conn, ev->reason);
2303 struct hci_ev_auth_complete *ev = (void *) skb->data;
2306 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
2310 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
2314 if (!ev->status) {
2323 mgmt_auth_failed(conn, ev->status);
2330 if (!ev->status && hci_conn_ssp_enabled(conn)) {
2332 cp.handle = ev->handle;
2338 hci_proto_connect_cfm(conn, ev->status);
2342 hci_auth_cfm(conn, ev->status);
2350 if (!ev->status) {
2352 cp.handle = ev->handle;
2358 hci_encrypt_cfm(conn, ev->status, 0x00);
2368 struct hci_ev_remote_name *ev = (void *) skb->data;
2377 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
2382 if (ev->status == 0)
2383 hci_check_pending_name(hdev, conn, &ev->bdaddr, ev->name,
2384 strnlen(ev->name, HCI_MAX_NAME_LENGTH));
2386 hci_check_pending_name(hdev, conn, &ev->bdaddr, NULL, 0);
2410 struct hci_ev_encrypt_change *ev = (void *) skb->data;
2413 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
2417 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
2421 if (!ev->status) {
2422 if (ev->encrypt) {
2432 if ((conn->type == ACL_LINK && ev->encrypt == 0x02) ||
2444 if (ev->status && conn->type == LE_LINK)
2449 if (ev->status && conn->state == BT_CONNECTED) {
2456 if (!ev->status)
2471 hci_proto_connect_cfm(conn, ev->status);
2474 hci_encrypt_cfm(conn, ev->status, ev->encrypt);
2483 struct hci_ev_change_link_key_complete *ev = (void *) skb->data;
2486 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
2490 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
2492 if (!ev->status)
2497 hci_key_change_cfm(conn, ev->status);
2506 struct hci_ev_remote_features *ev = (void *) skb->data;
2509 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
2513 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
2517 if (!ev->status)
2518 memcpy(conn->features[0], ev->features, 8);
2523 if (!ev->status && lmp_ssp_capable(hdev) && lmp_ssp_capable(conn)) {
2525 cp.handle = ev->handle;
2532 if (!ev->status && !test_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags)) {
2545 hci_proto_connect_cfm(conn, ev->status);
2555 struct hci_ev_cmd_complete *ev = (void *) skb->data;
2556 u8 status = skb->data[sizeof(*ev)];
2559 skb_pull(skb, sizeof(*ev));
2561 opcode = __le16_to_cpu(ev->opcode);
2826 if (ev->ncmd && !test_bit(HCI_RESET, &hdev->flags)) {
2835 struct hci_ev_cmd_status *ev = (void *) skb->data;
2838 skb_pull(skb, sizeof(*ev));
2840 opcode = __le16_to_cpu(ev->opcode);
2844 hci_cs_inquiry(hdev, ev->status);
2848 hci_cs_create_conn(hdev, ev->status);
2852 hci_cs_add_sco(hdev, ev->status);
2856 hci_cs_auth_requested(hdev, ev->status);
2860 hci_cs_set_conn_encrypt(hdev, ev->status);
2864 hci_cs_remote_name_req(hdev, ev->status);
2868 hci_cs_read_remote_features(hdev, ev->status);
2872 hci_cs_read_remote_ext_features(hdev, ev->status);
2876 hci_cs_setup_sync_conn(hdev, ev->status);
2880 hci_cs_sniff_mode(hdev, ev->status);
2884 hci_cs_exit_sniff_mode(hdev, ev->status);
2888 hci_cs_disconnect(hdev, ev->status);
2892 hci_cs_create_phylink(hdev, ev->status);
2896 hci_cs_accept_phylink(hdev, ev->status);
2900 hci_cs_le_create_conn(hdev, ev->status);
2904 hci_cs_le_start_enc(hdev, ev->status);
2915 if (ev->status ||
2917 hci_req_cmd_complete(hdev, opcode, ev->status);
2919 if (ev->ncmd && !test_bit(HCI_RESET, &hdev->flags)) {
2928 struct hci_ev_role_change *ev = (void *) skb->data;
2931 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
2935 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
2937 if (!ev->status)
2938 conn->role = ev->role;
2942 hci_role_switch_cfm(conn, ev->status, ev->role);
2950 struct hci_ev_num_comp_pkts *ev = (void *) skb->data;
2958 if (skb->len < sizeof(*ev) || skb->len < sizeof(*ev) +
2959 ev->num_hndl * sizeof(struct hci_comp_pkts_info)) {
2964 BT_DBG("%s num_hndl %d", hdev->name, ev->num_hndl);
2966 for (i = 0; i < ev->num_hndl; i++) {
2967 struct hci_comp_pkts_info *info = &ev->handles[i];
3037 struct hci_ev_num_comp_blocks *ev = (void *) skb->data;
3045 if (skb->len < sizeof(*ev) || skb->len < sizeof(*ev) +
3046 ev->num_hndl * sizeof(struct hci_comp_blocks_info)) {
3051 BT_DBG("%s num_blocks %d num_hndl %d", hdev->name, ev->num_blocks,
3052 ev->num_hndl);
3054 for (i = 0; i < ev->num_hndl; i++) {
3055 struct hci_comp_blocks_info *info = &ev->handles[i];
3087 struct hci_ev_mode_change *ev = (void *) skb->data;
3090 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
3094 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
3096 conn->mode = ev->mode;
3107 hci_sco_setup(conn, ev->status);
3115 struct hci_ev_pin_code_req *ev = (void *) skb->data;
3122 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
3135 sizeof(ev->bdaddr), &ev->bdaddr);
3144 mgmt_pin_code_request(hdev, &ev->bdaddr, secure);
3153 struct hci_ev_link_key_req *ev = (void *) skb->data;
3165 key = hci_find_link_key(hdev, &ev->bdaddr);
3168 &ev->bdaddr);
3173 &ev->bdaddr);
3175 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
3196 bacpy(&cp.bdaddr, &ev->bdaddr);
3206 hci_send_cmd(hdev, HCI_OP_LINK_KEY_NEG_REPLY, 6, &ev->bdaddr);
3212 struct hci_ev_link_key_notify *ev = (void *) skb->data;
3222 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
3228 if (ev->key_type != HCI_LK_CHANGED_COMBINATION)
3229 conn->key_type = ev->key_type;
3237 key = hci_add_link_key(hdev, conn, &ev->bdaddr, ev->link_key,
3238 ev->key_type, pin_len, &persistent);
3266 struct hci_ev_clock_offset *ev = (void *) skb->data;
3269 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
3273 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
3274 if (conn && !ev->status) {
3279 ie->data.clock_offset = ev->clock_offset;
3289 struct hci_ev_pkt_type_change *ev = (void *) skb->data;
3292 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
3296 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
3297 if (conn && !ev->status)
3298 conn->pkt_type = __le16_to_cpu(ev->pkt_type);
3305 struct hci_ev_pscan_rep_mode *ev = (void *) skb->data;
3312 ie = hci_inquiry_cache_lookup(hdev, &ev->bdaddr);
3314 ie->data.pscan_rep_mode = ev->pscan_rep_mode;
3388 struct hci_ev_remote_ext_features *ev = (void *) skb->data;
3395 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
3399 if (ev->page < HCI_MAX_PAGES)
3400 memcpy(conn->features[ev->page], ev->features, 8);
3402 if (!ev->status && ev->page == 0x01) {
3407 ie->data.ssp_mode = (ev->features[0] & LMP_HOST_SSP);
3409 if (ev->features[0] & LMP_HOST_SSP) {
3423 if (ev->features[0] & LMP_HOST_SC)
3430 if (!ev->status && !test_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags)) {
3443 hci_proto_connect_cfm(conn, ev->status);
3454 struct hci_ev_sync_conn_complete *ev = (void *) skb->data;
3457 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
3461 conn = hci_conn_hash_lookup_ba(hdev, ev->link_type, &ev->bdaddr);
3463 if (ev->link_type == ESCO_LINK)
3466 conn = hci_conn_hash_lookup_ba(hdev, ESCO_LINK, &ev->bdaddr);
3473 switch (ev->status) {
3475 conn->handle = __le16_to_cpu(ev->handle);
3501 hci_proto_connect_cfm(conn, ev->status);
3502 if (ev->status)
3579 struct hci_ev_key_refresh_complete *ev = (void *) skb->data;
3582 BT_DBG("%s status 0x%2.2x handle 0x%4.4x", hdev->name, ev->status,
3583 __le16_to_cpu(ev->handle));
3587 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
3597 if (!ev->status)
3602 if (ev->status && conn->state == BT_CONNECTED) {
3609 if (!ev->status)
3612 hci_proto_connect_cfm(conn, ev->status);
3615 hci_auth_cfm(conn, ev->status);
3646 struct hci_ev_io_capa_request *ev = (void *) skb->data;
3653 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
3670 bacpy(&cp.bdaddr, &ev->bdaddr);
3707 bacpy(&cp.bdaddr, &ev->bdaddr);
3720 struct hci_ev_io_capa_reply *ev = (void *) skb->data;
3727 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
3731 conn->remote_cap = ev->capability;
3732 conn->remote_auth = ev->authentication;
3733 if (ev->oob_data)
3743 struct hci_ev_user_confirm_req *ev = (void *) skb->data;
3754 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
3770 sizeof(ev->bdaddr), &ev->bdaddr);
3803 sizeof(ev->bdaddr), &ev->bdaddr);
3808 mgmt_user_confirm_request(hdev, &ev->bdaddr, ACL_LINK, 0,
3809 le32_to_cpu(ev->passkey), confirm_hint);
3818 struct hci_ev_user_passkey_req *ev = (void *) skb->data;
3823 mgmt_user_passkey_request(hdev, &ev->bdaddr, ACL_LINK, 0);
3829 struct hci_ev_user_passkey_notify *ev = (void *) skb->data;
3834 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
3838 conn->passkey_notify = __le32_to_cpu(ev->passkey);
3849 struct hci_ev_keypress_notify *ev = (void *) skb->data;
3854 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
3858 switch (ev->type) {
3888 struct hci_ev_simple_pair_complete *ev = (void *) skb->data;
3895 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
3907 if (!test_bit(HCI_CONN_AUTH_PEND, &conn->flags) && ev->status)
3908 mgmt_auth_failed(conn, ev->status);
3919 struct hci_ev_remote_host_features *ev = (void *) skb->data;
3927 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
3929 memcpy(conn->features[1], ev->features, 8);
3931 ie = hci_inquiry_cache_lookup(hdev, &ev->bdaddr);
3933 ie->data.ssp_mode = (ev->features[0] & LMP_HOST_SSP);
3941 struct hci_ev_remote_oob_data_request *ev = (void *) skb->data;
3951 data = hci_find_remote_oob_data(hdev, &ev->bdaddr);
3956 bacpy(&cp.bdaddr, &ev->bdaddr);
3969 bacpy(&cp.bdaddr, &ev->bdaddr);
3980 bacpy(&cp.bdaddr, &ev->bdaddr);
3992 struct hci_ev_phy_link_complete *ev = (void *) skb->data;
3995 BT_DBG("%s handle 0x%2.2x status 0x%2.2x", hdev->name, ev->phy_handle,
3996 ev->status);
4000 hcon = hci_conn_hash_lookup_handle(hdev, ev->phy_handle);
4006 if (ev->status) {
4030 struct hci_ev_logical_link_complete *ev = (void *) skb->data;
4036 hdev->name, le16_to_cpu(ev->handle), ev->phy_handle,
4037 ev->status);
4039 hcon = hci_conn_hash_lookup_handle(hdev, ev->phy_handle);
4048 hchan->handle = le16_to_cpu(ev->handle);
4069 struct hci_ev_disconn_logical_link_complete *ev = (void *) skb->data;
4073 le16_to_cpu(ev->handle), ev->status);
4075 if (ev->status)
4080 hchan = hci_chan_lookup_handle(hdev, le16_to_cpu(ev->handle));
4084 amp_destroy_logical_link(hchan, ev->reason);
4093 struct hci_ev_disconn_phy_link_complete *ev = (void *) skb->data;
4096 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
4098 if (ev->status)
4103 hcon = hci_conn_hash_lookup_handle(hdev, ev->phy_handle);
4114 struct hci_ev_le_conn_complete *ev = (void *) skb->data;
4120 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
4131 conn = hci_conn_add(hdev, LE_LINK, &ev->bdaddr, ev->role);
4137 conn->dst_type = ev->bdaddr_type;
4148 conn->resp_addr_type = ev->bdaddr_type;
4149 bacpy(&conn->resp_addr, &ev->bdaddr);
4173 conn->init_addr_type = ev->bdaddr_type;
4174 bacpy(&conn->init_addr, &ev->bdaddr);
4200 if (ev->status) {
4201 hci_le_conn_failed(conn, ev->status);
4221 conn->handle = __le16_to_cpu(ev->handle);
4224 conn->le_conn_interval = le16_to_cpu(ev->interval);
4225 conn->le_conn_latency = le16_to_cpu(ev->latency);
4226 conn->le_supv_timeout = le16_to_cpu(ev->supervision_timeout);
4230 hci_proto_connect_cfm(conn, ev->status);
4251 struct hci_ev_le_conn_update_complete *ev = (void *) skb->data;
4254 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
4256 if (ev->status)
4261 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
4263 conn->le_conn_interval = le16_to_cpu(ev->interval);
4264 conn->le_conn_latency = le16_to_cpu(ev->latency);
4265 conn->le_supv_timeout = le16_to_cpu(ev->supervision_timeout);
4479 struct hci_ev_le_advertising_info *ev = ptr;
4482 rssi = ev->data[ev->length];
4483 process_adv_report(hdev, ev->evt_type, &ev->bdaddr,
4484 ev->bdaddr_type, rssi, ev->data, ev->length);
4486 ptr += sizeof(*ev) + ev->length + 1;
4494 struct hci_ev_le_ltk_req *ev = (void *) skb->data;
4500 BT_DBG("%s handle 0x%4.4x", hdev->name, __le16_to_cpu(ev->handle));
4504 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
4508 ltk = hci_find_ltk(hdev, ev->ediv, ev->rand, conn->role);
4540 neg.handle = ev->handle;
4560 struct hci_ev_le_remote_conn_param_req *ev = (void *) skb->data;
4565 handle = le16_to_cpu(ev->handle);
4566 min = le16_to_cpu(ev->interval_min);
4567 max = le16_to_cpu(ev->interval_max);
4568 latency = le16_to_cpu(ev->latency);
4569 timeout = le16_to_cpu(ev->timeout);
4604 cp.handle = ev->handle;
4605 cp.interval_min = ev->interval_min;
4606 cp.interval_max = ev->interval_max;
4607 cp.latency = ev->latency;
4608 cp.timeout = ev->timeout;
4649 struct hci_ev_channel_selected *ev = (void *) skb->data;
4652 BT_DBG("%s handle 0x%2.2x", hdev->name, ev->phy_handle);
4654 skb_pull(skb, sizeof(*ev));
4656 hcon = hci_conn_hash_lookup_handle(hdev, ev->phy_handle);