Lines Matching refs:cp
876 struct hci_cp_le_set_scan_rsp_data cp; in update_scan_rsp_data_for_instance() local
882 memset(&cp, 0, sizeof(cp)); in update_scan_rsp_data_for_instance()
885 len = create_instance_scan_rsp_data(hdev, cp.data); in update_scan_rsp_data_for_instance()
887 len = create_default_scan_rsp_data(hdev, cp.data); in update_scan_rsp_data_for_instance()
890 !memcmp(cp.data, hdev->scan_rsp_data, len)) in update_scan_rsp_data_for_instance()
893 memcpy(hdev->scan_rsp_data, cp.data, sizeof(cp.data)); in update_scan_rsp_data_for_instance()
896 cp.length = len; in update_scan_rsp_data_for_instance()
898 hci_req_add(req, HCI_OP_LE_SET_SCAN_RSP_DATA, sizeof(cp), &cp); in update_scan_rsp_data_for_instance()
929 struct mgmt_mode *cp = cmd->param; in get_adv_discov_flags() local
930 if (cp->val == 0x01) in get_adv_discov_flags()
932 else if (cp->val == 0x02) in get_adv_discov_flags()
967 struct mgmt_mode *cp = cmd->param; in get_connectable() local
969 return cp->val; in get_connectable()
1071 struct hci_cp_le_set_adv_data cp; in update_adv_data_for_instance() local
1077 memset(&cp, 0, sizeof(cp)); in update_adv_data_for_instance()
1079 len = create_instance_adv_data(hdev, instance, cp.data); in update_adv_data_for_instance()
1083 memcmp(cp.data, hdev->adv_data, len) == 0) in update_adv_data_for_instance()
1086 memcpy(hdev->adv_data, cp.data, sizeof(cp.data)); in update_adv_data_for_instance()
1089 cp.length = len; in update_adv_data_for_instance()
1091 hci_req_add(req, HCI_OP_LE_SET_ADV_DATA, sizeof(cp), &cp); in update_adv_data_for_instance()
1163 struct hci_cp_write_eir cp; in update_eir() local
1177 memset(&cp, 0, sizeof(cp)); in update_eir()
1179 create_eir(hdev, cp.data); in update_eir()
1181 if (memcmp(cp.data, hdev->eir, sizeof(cp.data)) == 0) in update_eir()
1184 memcpy(hdev->eir, cp.data, sizeof(cp.data)); in update_eir()
1186 hci_req_add(req, HCI_OP_WRITE_EIR, sizeof(cp), &cp); in update_eir()
1239 struct hci_cp_le_set_adv_param cp; in enable_advertising() local
1274 memset(&cp, 0, sizeof(cp)); in enable_advertising()
1275 cp.min_interval = cpu_to_le16(hdev->le_adv_min_interval); in enable_advertising()
1276 cp.max_interval = cpu_to_le16(hdev->le_adv_max_interval); in enable_advertising()
1279 cp.type = LE_ADV_IND; in enable_advertising()
1281 cp.type = LE_ADV_SCAN_IND; in enable_advertising()
1283 cp.type = LE_ADV_NONCONN_IND; in enable_advertising()
1285 cp.own_address_type = own_addr_type; in enable_advertising()
1286 cp.channel_map = hdev->le_adv_channel_map; in enable_advertising()
1288 hci_req_add(req, HCI_OP_LE_SET_ADV_PARAM, sizeof(cp), &cp); in enable_advertising()
1402 struct hci_cp_remote_name_req_cancel cp; in hci_stop_discovery() local
1423 bacpy(&cp.bdaddr, &e->data.bdaddr); in hci_stop_discovery()
1424 hci_req_add(req, HCI_OP_REMOTE_NAME_REQ_CANCEL, sizeof(cp), in hci_stop_discovery()
1425 &cp); in hci_stop_discovery()
1550 struct mgmt_mode *cp = data; in set_powered() local
1556 if (cp->val != 0x00 && cp->val != 0x01) in set_powered()
1571 if (cp->val) { in set_powered()
1579 if (!!cp->val == hdev_is_powered(hdev)) { in set_powered()
1590 if (cp->val) { in set_powered()
1706 struct mgmt_mode *cp; in set_discoverable_complete() local
1725 cp = cmd->param; in set_discoverable_complete()
1726 if (cp->val) { in set_discoverable_complete()
1763 struct mgmt_cp_set_discoverable *cp = data; in set_discoverable() local
1777 if (cp->val != 0x00 && cp->val != 0x01 && cp->val != 0x02) in set_discoverable()
1781 timeout = __le16_to_cpu(cp->timeout); in set_discoverable()
1786 if ((cp->val == 0x00 && timeout > 0) || in set_discoverable()
1787 (cp->val == 0x02 && timeout == 0)) in set_discoverable()
1819 if (!!cp->val != hci_dev_test_flag(hdev, HCI_DISCOVERABLE)) { in set_discoverable()
1838 if (!!cp->val == hci_dev_test_flag(hdev, HCI_DISCOVERABLE) && in set_discoverable()
1839 (cp->val == 0x02) == hci_dev_test_flag(hdev, in set_discoverable()
1844 if (cp->val && hdev->discov_timeout > 0) { in set_discoverable()
1868 if (cp->val == 0x02) in set_discoverable()
1883 if (cp->val) { in set_discoverable()
1886 if (cp->val == 0x02) { in set_discoverable()
1964 struct mgmt_mode *cp; in set_connectable_complete() local
1981 cp = cmd->param; in set_connectable_complete()
1982 if (cp->val) { in set_connectable_complete()
2042 struct mgmt_mode *cp = data; in set_connectable() local
2055 if (cp->val != 0x00 && cp->val != 0x01) in set_connectable()
2062 err = set_connectable_update_settings(hdev, sk, cp->val); in set_connectable()
2086 if (!cp->val) { in set_connectable()
2091 } else if (cp->val != test_bit(HCI_PSCAN, &hdev->flags)) { in set_connectable()
2092 if (cp->val) { in set_connectable()
2127 cp->val); in set_connectable()
2139 struct mgmt_mode *cp = data; in set_bondable() local
2145 if (cp->val != 0x00 && cp->val != 0x01) in set_bondable()
2151 if (cp->val) in set_bondable()
2171 struct mgmt_mode *cp = data; in set_link_security() local
2183 if (cp->val != 0x00 && cp->val != 0x01) in set_link_security()
2192 if (!!cp->val != hci_dev_test_flag(hdev, HCI_LINK_SECURITY)) { in set_link_security()
2213 val = !!cp->val; in set_link_security()
2239 struct mgmt_mode *cp = data; in set_ssp() local
2254 if (cp->val != 0x00 && cp->val != 0x01) in set_ssp()
2263 if (cp->val) { in set_ssp()
2292 if (!!cp->val == hci_dev_test_flag(hdev, HCI_SSP_ENABLED)) { in set_ssp()
2303 if (!cp->val && hci_dev_test_flag(hdev, HCI_USE_DEBUG_KEYS)) in set_ssp()
2305 sizeof(cp->val), &cp->val); in set_ssp()
2307 err = hci_send_cmd(hdev, HCI_OP_WRITE_SSP_MODE, 1, &cp->val); in set_ssp()
2320 struct mgmt_mode *cp = data; in set_hs() local
2339 if (cp->val != 0x00 && cp->val != 0x01) in set_hs()
2351 if (cp->val) { in set_hs()
2417 struct mgmt_mode *cp = data; in set_le() local
2430 if (cp->val != 0x00 && cp->val != 0x01) in set_le()
2444 if (cp->val == 0x01) in set_le()
2453 val = !!cp->val; in set_le()
2586 struct mgmt_cp_add_uuid *cp = data; in add_uuid() local
2608 memcpy(uuid->uuid, cp->uuid, 16); in add_uuid()
2609 uuid->svc_hint = cp->svc_hint; in add_uuid()
2610 uuid->size = get_uuid_size(cp->uuid); in add_uuid()
2666 struct mgmt_cp_remove_uuid *cp = data; in remove_uuid() local
2683 if (memcmp(cp->uuid, bt_uuid_any, 16) == 0) { in remove_uuid()
2699 if (memcmp(match->uuid, cp->uuid, 16) != 0) in remove_uuid()
2752 struct mgmt_cp_set_dev_class *cp = data; in set_dev_class() local
2771 if ((cp->minor & 0x03) != 0 || (cp->major & 0xe0) != 0) { in set_dev_class()
2777 hdev->major_class = cp->major; in set_dev_class()
2778 hdev->minor_class = cp->minor; in set_dev_class()
2823 struct mgmt_cp_load_link_keys *cp = data; in load_link_keys() local
2824 const u16 max_key_count = ((U16_MAX - sizeof(*cp)) / in load_link_keys()
2836 key_count = __le16_to_cpu(cp->key_count); in load_link_keys()
2844 expected_len = sizeof(*cp) + key_count * in load_link_keys()
2853 if (cp->debug_keys != 0x00 && cp->debug_keys != 0x01) in load_link_keys()
2857 BT_DBG("%s debug_keys %u key_count %u", hdev->name, cp->debug_keys, in load_link_keys()
2861 struct mgmt_link_key_info *key = &cp->keys[i]; in load_link_keys()
2873 if (cp->debug_keys) in load_link_keys()
2883 struct mgmt_link_key_info *key = &cp->keys[i]; in load_link_keys()
2917 struct mgmt_cp_unpair_device *cp = data; in unpair_device() local
2925 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr); in unpair_device()
2926 rp.addr.type = cp->addr.type; in unpair_device()
2928 if (!bdaddr_type_is_valid(cp->addr.type)) in unpair_device()
2933 if (cp->disconnect != 0x00 && cp->disconnect != 0x01) in unpair_device()
2947 if (cp->addr.type == BDADDR_BREDR) { in unpair_device()
2955 if (cp->disconnect) in unpair_device()
2957 &cp->addr.bdaddr); in unpair_device()
2961 err = hci_remove_link_key(hdev, &cp->addr.bdaddr); in unpair_device()
2965 if (cp->addr.type == BDADDR_LE_PUBLIC) in unpair_device()
2971 &cp->addr.bdaddr); in unpair_device()
2983 if (!cp->disconnect) in unpair_device()
2986 hci_conn_params_del(hdev, &cp->addr.bdaddr, addr_type); in unpair_device()
2989 hci_remove_irk(hdev, &cp->addr.bdaddr, addr_type); in unpair_device()
2991 err = hci_remove_ltk(hdev, &cp->addr.bdaddr, addr_type); in unpair_device()
3007 device_unpaired(hdev, &cp->addr.bdaddr, cp->addr.type, sk); in unpair_device()
3011 cmd = mgmt_pending_add(sk, MGMT_OP_UNPAIR_DEVICE, hdev, cp, in unpair_device()
3012 sizeof(*cp)); in unpair_device()
3034 struct mgmt_cp_disconnect *cp = data; in disconnect() local
3043 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr); in disconnect()
3044 rp.addr.type = cp->addr.type; in disconnect()
3046 if (!bdaddr_type_is_valid(cp->addr.type)) in disconnect()
3066 if (cp->addr.type == BDADDR_BREDR) in disconnect()
3068 &cp->addr.bdaddr); in disconnect()
3070 conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, &cp->addr.bdaddr); in disconnect()
3174 struct mgmt_cp_pin_code_neg_reply *cp) in send_pin_code_neg_reply() argument
3179 cmd = mgmt_pending_add(sk, MGMT_OP_PIN_CODE_NEG_REPLY, hdev, cp, in send_pin_code_neg_reply()
3180 sizeof(*cp)); in send_pin_code_neg_reply()
3185 sizeof(cp->addr.bdaddr), &cp->addr.bdaddr); in send_pin_code_neg_reply()
3196 struct mgmt_cp_pin_code_reply *cp = data; in pin_code_reply() local
3211 conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &cp->addr.bdaddr); in pin_code_reply()
3218 if (conn->pending_sec_level == BT_SECURITY_HIGH && cp->pin_len != 16) { in pin_code_reply()
3221 memcpy(&ncp.addr, &cp->addr, sizeof(ncp.addr)); in pin_code_reply()
3241 bacpy(&reply.bdaddr, &cp->addr.bdaddr); in pin_code_reply()
3242 reply.pin_len = cp->pin_len; in pin_code_reply()
3243 memcpy(reply.pin_code, cp->pin_code, sizeof(reply.pin_code)); in pin_code_reply()
3257 struct mgmt_cp_set_io_capability *cp = data; in set_io_capability() local
3261 if (cp->io_capability > SMP_IO_KEYBOARD_DISPLAY) in set_io_capability()
3267 hdev->io_capability = cp->io_capability; in set_io_capability()
3375 struct mgmt_cp_pair_device *cp = data; in pair_device() local
3385 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr); in pair_device()
3386 rp.addr.type = cp->addr.type; in pair_device()
3388 if (!bdaddr_type_is_valid(cp->addr.type)) in pair_device()
3393 if (cp->io_cap > SMP_IO_KEYBOARD_DISPLAY) in pair_device()
3407 if (hci_bdaddr_is_paired(hdev, &cp->addr.bdaddr, cp->addr.type)) { in pair_device()
3417 if (cp->addr.type == BDADDR_BREDR) { in pair_device()
3418 conn = hci_connect_acl(hdev, &cp->addr.bdaddr, sec_level, in pair_device()
3425 if (cp->addr.type == BDADDR_LE_PUBLIC) in pair_device()
3439 hci_conn_params_add(hdev, &cp->addr.bdaddr, addr_type); in pair_device()
3441 conn = hci_connect_le(hdev, &cp->addr.bdaddr, addr_type, in pair_device()
3480 if (cp->addr.type == BDADDR_BREDR) { in pair_device()
3490 conn->io_capability = cp->io_cap; in pair_device()
3602 struct hci_cp_user_passkey_reply cp; in user_pairing_resp() local
3604 bacpy(&cp.bdaddr, &addr->bdaddr); in user_pairing_resp()
3605 cp.passkey = passkey; in user_pairing_resp()
3606 err = hci_send_cmd(hdev, hci_op, sizeof(cp), &cp); in user_pairing_resp()
3622 struct mgmt_cp_pin_code_neg_reply *cp = data; in pin_code_neg_reply() local
3626 return user_pairing_resp(sk, hdev, &cp->addr, in pin_code_neg_reply()
3634 struct mgmt_cp_user_confirm_reply *cp = data; in user_confirm_reply() local
3638 if (len != sizeof(*cp)) in user_confirm_reply()
3642 return user_pairing_resp(sk, hdev, &cp->addr, in user_confirm_reply()
3650 struct mgmt_cp_user_confirm_neg_reply *cp = data; in user_confirm_neg_reply() local
3654 return user_pairing_resp(sk, hdev, &cp->addr, in user_confirm_neg_reply()
3662 struct mgmt_cp_user_passkey_reply *cp = data; in user_passkey_reply() local
3666 return user_pairing_resp(sk, hdev, &cp->addr, in user_passkey_reply()
3668 HCI_OP_USER_PASSKEY_REPLY, cp->passkey); in user_passkey_reply()
3674 struct mgmt_cp_user_passkey_neg_reply *cp = data; in user_passkey_neg_reply() local
3678 return user_pairing_resp(sk, hdev, &cp->addr, in user_passkey_neg_reply()
3686 struct hci_cp_write_local_name cp; in update_name() local
3688 memcpy(cp.name, hdev->dev_name, sizeof(cp.name)); in update_name()
3690 hci_req_add(req, HCI_OP_WRITE_LOCAL_NAME, sizeof(cp), &cp); in update_name()
3695 struct mgmt_cp_set_local_name *cp; in set_name_complete() local
3706 cp = cmd->param; in set_name_complete()
3713 cp, sizeof(*cp)); in set_name_complete()
3724 struct mgmt_cp_set_local_name *cp = data; in set_local_name() local
3736 if (!memcmp(hdev->dev_name, cp->name, sizeof(hdev->dev_name)) && in set_local_name()
3737 !memcmp(hdev->short_name, cp->short_name, in set_local_name()
3744 memcpy(hdev->short_name, cp->short_name, sizeof(hdev->short_name)); in set_local_name()
3747 memcpy(hdev->dev_name, cp->name, sizeof(hdev->dev_name)); in set_local_name()
3766 memcpy(hdev->dev_name, cp->name, sizeof(hdev->dev_name)); in set_local_name()
3917 struct mgmt_cp_add_remote_oob_data *cp = data; in add_remote_oob_data() local
3920 if (cp->addr.type != BDADDR_BREDR) { in add_remote_oob_data()
3924 &cp->addr, sizeof(cp->addr)); in add_remote_oob_data()
3928 err = hci_add_remote_oob_data(hdev, &cp->addr.bdaddr, in add_remote_oob_data()
3929 cp->addr.type, cp->hash, in add_remote_oob_data()
3930 cp->rand, NULL, NULL); in add_remote_oob_data()
3938 &cp->addr, sizeof(cp->addr)); in add_remote_oob_data()
3940 struct mgmt_cp_add_remote_oob_ext_data *cp = data; in add_remote_oob_data() local
3944 if (bdaddr_type_is_le(cp->addr.type)) { in add_remote_oob_data()
3948 if (memcmp(cp->rand192, ZERO_KEY, 16) || in add_remote_oob_data()
3949 memcmp(cp->hash192, ZERO_KEY, 16)) { in add_remote_oob_data()
3963 if (!memcmp(cp->rand192, ZERO_KEY, 16) || in add_remote_oob_data()
3964 !memcmp(cp->hash192, ZERO_KEY, 16)) { in add_remote_oob_data()
3968 rand192 = cp->rand192; in add_remote_oob_data()
3969 hash192 = cp->hash192; in add_remote_oob_data()
3976 if (!memcmp(cp->rand256, ZERO_KEY, 16) || in add_remote_oob_data()
3977 !memcmp(cp->hash256, ZERO_KEY, 16)) { in add_remote_oob_data()
3981 rand256 = cp->rand256; in add_remote_oob_data()
3982 hash256 = cp->hash256; in add_remote_oob_data()
3985 err = hci_add_remote_oob_data(hdev, &cp->addr.bdaddr, in add_remote_oob_data()
3986 cp->addr.type, hash192, rand192, in add_remote_oob_data()
3995 status, &cp->addr, sizeof(cp->addr)); in add_remote_oob_data()
4010 struct mgmt_cp_remove_remote_oob_data *cp = data; in remove_remote_oob_data() local
4016 if (cp->addr.type != BDADDR_BREDR) in remove_remote_oob_data()
4020 &cp->addr, sizeof(cp->addr)); in remove_remote_oob_data()
4024 if (!bacmp(&cp->addr.bdaddr, BDADDR_ANY)) { in remove_remote_oob_data()
4030 err = hci_remove_remote_oob_data(hdev, &cp->addr.bdaddr, cp->addr.type); in remove_remote_oob_data()
4038 status, &cp->addr, sizeof(cp->addr)); in remove_remote_oob_data()
4047 struct hci_cp_inquiry cp; in trigger_bredr_inquiry() local
4062 memset(&cp, 0, sizeof(cp)); in trigger_bredr_inquiry()
4063 memcpy(&cp.lap, lap, sizeof(cp.lap)); in trigger_bredr_inquiry()
4064 cp.length = DISCOV_BREDR_INQUIRY_LEN; in trigger_bredr_inquiry()
4066 hci_req_add(req, HCI_OP_INQUIRY, sizeof(cp), &cp); in trigger_bredr_inquiry()
4257 struct mgmt_cp_start_discovery *cp = data; in start_discovery() local
4270 &cp->type, sizeof(cp->type)); in start_discovery()
4277 MGMT_STATUS_BUSY, &cp->type, in start_discovery()
4278 sizeof(cp->type)); in start_discovery()
4295 hdev->discovery.type = cp->type; in start_discovery()
4302 status, &cp->type, sizeof(cp->type)); in start_discovery()
4330 struct mgmt_cp_start_service_discovery *cp = data; in start_service_discovery() local
4333 const u16 max_uuid_count = ((U16_MAX - sizeof(*cp)) / 16); in start_service_discovery()
4346 &cp->type, sizeof(cp->type)); in start_service_discovery()
4354 MGMT_STATUS_BUSY, &cp->type, in start_service_discovery()
4355 sizeof(cp->type)); in start_service_discovery()
4359 uuid_count = __le16_to_cpu(cp->uuid_count); in start_service_discovery()
4365 MGMT_STATUS_INVALID_PARAMS, &cp->type, in start_service_discovery()
4366 sizeof(cp->type)); in start_service_discovery()
4370 expected_len = sizeof(*cp) + uuid_count * 16; in start_service_discovery()
4376 MGMT_STATUS_INVALID_PARAMS, &cp->type, in start_service_discovery()
4377 sizeof(cp->type)); in start_service_discovery()
4396 hdev->discovery.type = cp->type; in start_service_discovery()
4397 hdev->discovery.rssi = cp->rssi; in start_service_discovery()
4401 hdev->discovery.uuids = kmemdup(cp->uuids, uuid_count * 16, in start_service_discovery()
4407 &cp->type, sizeof(cp->type)); in start_service_discovery()
4418 status, &cp->type, sizeof(cp->type)); in start_service_discovery()
4517 struct mgmt_cp_confirm_name *cp = data; in confirm_name() local
4527 MGMT_STATUS_FAILED, &cp->addr, in confirm_name()
4528 sizeof(cp->addr)); in confirm_name()
4532 e = hci_inquiry_cache_lookup_unknown(hdev, &cp->addr.bdaddr); in confirm_name()
4535 MGMT_STATUS_INVALID_PARAMS, &cp->addr, in confirm_name()
4536 sizeof(cp->addr)); in confirm_name()
4540 if (cp->name_known) { in confirm_name()
4549 &cp->addr, sizeof(cp->addr)); in confirm_name()
4559 struct mgmt_cp_block_device *cp = data; in block_device() local
4565 if (!bdaddr_type_is_valid(cp->addr.type)) in block_device()
4568 &cp->addr, sizeof(cp->addr)); in block_device()
4572 err = hci_bdaddr_list_add(&hdev->blacklist, &cp->addr.bdaddr, in block_device()
4573 cp->addr.type); in block_device()
4579 mgmt_event(MGMT_EV_DEVICE_BLOCKED, hdev, &cp->addr, sizeof(cp->addr), in block_device()
4585 &cp->addr, sizeof(cp->addr)); in block_device()
4595 struct mgmt_cp_unblock_device *cp = data; in unblock_device() local
4601 if (!bdaddr_type_is_valid(cp->addr.type)) in unblock_device()
4604 &cp->addr, sizeof(cp->addr)); in unblock_device()
4608 err = hci_bdaddr_list_del(&hdev->blacklist, &cp->addr.bdaddr, in unblock_device()
4609 cp->addr.type); in unblock_device()
4615 mgmt_event(MGMT_EV_DEVICE_UNBLOCKED, hdev, &cp->addr, sizeof(cp->addr), in unblock_device()
4621 &cp->addr, sizeof(cp->addr)); in unblock_device()
4631 struct mgmt_cp_set_device_id *cp = data; in set_device_id() local
4638 source = __le16_to_cpu(cp->source); in set_device_id()
4647 hdev->devid_vendor = __le16_to_cpu(cp->vendor); in set_device_id()
4648 hdev->devid_product = __le16_to_cpu(cp->product); in set_device_id()
4649 hdev->devid_version = __le16_to_cpu(cp->version); in set_device_id()
4720 struct mgmt_mode *cp = data; in set_advertising() local
4733 if (cp->val != 0x00 && cp->val != 0x01 && cp->val != 0x02) in set_advertising()
4739 val = !!cp->val; in set_advertising()
4748 (cp->val == 0x02) == hci_dev_test_flag(hdev, HCI_ADVERTISING_CONNECTABLE)) || in set_advertising()
4754 if (cp->val) { in set_advertising()
4756 if (cp->val == 0x02) in set_advertising()
4790 if (cp->val == 0x02) in set_advertising()
4816 struct mgmt_cp_set_static_address *cp = data; in set_static_address() local
4829 if (bacmp(&cp->bdaddr, BDADDR_ANY)) { in set_static_address()
4830 if (!bacmp(&cp->bdaddr, BDADDR_NONE)) in set_static_address()
4836 if ((cp->bdaddr.b[5] & 0xc0) != 0xc0) in set_static_address()
4844 bacpy(&hdev->static_addr, &cp->bdaddr); in set_static_address()
4860 struct mgmt_cp_set_scan_params *cp = data; in set_scan_params() local
4870 interval = __le16_to_cpu(cp->interval); in set_scan_params()
4876 window = __le16_to_cpu(cp->window); in set_scan_params()
4931 struct mgmt_mode *cp = cmd->param; in fast_connectable_complete() local
4933 if (cp->val) in fast_connectable_complete()
4951 struct mgmt_mode *cp = data; in set_fast_connectable() local
4963 if (cp->val != 0x00 && cp->val != 0x01) in set_fast_connectable()
4975 if (!!cp->val == hci_dev_test_flag(hdev, HCI_FAST_CONNECTABLE)) { in set_fast_connectable()
4998 write_fast_connectable(&req, cp->val); in set_fast_connectable()
5047 struct mgmt_mode *cp = data; in set_bredr() local
5062 if (cp->val != 0x00 && cp->val != 0x01) in set_bredr()
5068 if (cp->val == hci_dev_test_flag(hdev, HCI_BREDR_ENABLED)) { in set_bredr()
5074 if (!cp->val) { in set_bredr()
5093 if (!cp->val) { in set_bredr()
5160 struct mgmt_mode *cp; in sc_enable_complete() local
5176 cp = cmd->param; in sc_enable_complete()
5178 switch (cp->val) { in sc_enable_complete()
5205 struct mgmt_mode *cp = data; in set_secure_conn() local
5224 if (cp->val != 0x00 && cp->val != 0x01 && cp->val != 0x02) in set_secure_conn()
5234 if (cp->val) { in set_secure_conn()
5237 if (cp->val == 0x02) in set_secure_conn()
5263 val = !!cp->val; in set_secure_conn()
5266 (cp->val == 0x02) == hci_dev_test_flag(hdev, HCI_SC_ONLY)) { in set_secure_conn()
5293 struct mgmt_mode *cp = data; in set_debug_keys() local
5299 if (cp->val != 0x00 && cp->val != 0x01 && cp->val != 0x02) in set_debug_keys()
5305 if (cp->val) in set_debug_keys()
5311 if (cp->val == 0x02) in set_debug_keys()
5320 u8 mode = (cp->val == 0x02) ? 0x01 : 0x00; in set_debug_keys()
5340 struct mgmt_cp_set_privacy *cp = cp_data; in set_privacy() local
5350 if (cp->privacy != 0x00 && cp->privacy != 0x01) in set_privacy()
5365 if (cp->privacy) { in set_privacy()
5367 memcpy(hdev->irk, cp->irk, sizeof(hdev->irk)); in set_privacy()
5406 struct mgmt_cp_load_irks *cp = cp_data; in load_irks() local
5407 const u16 max_irk_count = ((U16_MAX - sizeof(*cp)) / in load_irks()
5418 irk_count = __le16_to_cpu(cp->irk_count); in load_irks()
5425 expected_len = sizeof(*cp) + irk_count * sizeof(struct mgmt_irk_info); in load_irks()
5436 struct mgmt_irk_info *key = &cp->irks[i]; in load_irks()
5449 struct mgmt_irk_info *irk = &cp->irks[i]; in load_irks()
5492 struct mgmt_cp_load_long_term_keys *cp = cp_data; in load_long_term_keys() local
5493 const u16 max_key_count = ((U16_MAX - sizeof(*cp)) / in load_long_term_keys()
5504 key_count = __le16_to_cpu(cp->key_count); in load_long_term_keys()
5511 expected_len = sizeof(*cp) + key_count * in load_long_term_keys()
5523 struct mgmt_ltk_info *key = &cp->keys[i]; in load_long_term_keys()
5536 struct mgmt_ltk_info *key = &cp->keys[i]; in load_long_term_keys()
5611 struct hci_cp_read_rssi *cp; in conn_info_refresh_complete() local
5630 cp = hci_sent_cmd_data(hdev, HCI_OP_READ_RSSI); in conn_info_refresh_complete()
5631 if (!cp) { in conn_info_refresh_complete()
5632 cp = hci_sent_cmd_data(hdev, HCI_OP_READ_TX_POWER); in conn_info_refresh_complete()
5638 if (!cp) { in conn_info_refresh_complete()
5643 handle = __le16_to_cpu(cp->handle); in conn_info_refresh_complete()
5664 struct mgmt_cp_get_conn_info *cp = data; in get_conn_info() local
5673 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr); in get_conn_info()
5674 rp.addr.type = cp->addr.type; in get_conn_info()
5676 if (!bdaddr_type_is_valid(cp->addr.type)) in get_conn_info()
5690 if (cp->addr.type == BDADDR_BREDR) in get_conn_info()
5692 &cp->addr.bdaddr); in get_conn_info()
5694 conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, &cp->addr.bdaddr); in get_conn_info()
5735 if (!bdaddr_type_is_le(cp->addr.type) || in get_conn_info()
5853 struct mgmt_cp_get_clock_info *cp = data; in get_clock_info() local
5864 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr); in get_clock_info()
5865 rp.addr.type = cp->addr.type; in get_clock_info()
5867 if (cp->addr.type != BDADDR_BREDR) in get_clock_info()
5881 if (bacmp(&cp->addr.bdaddr, BDADDR_ANY)) { in get_clock_info()
5883 &cp->addr.bdaddr); in get_clock_info()
6019 struct mgmt_cp_add_device *cp = data; in add_device() local
6027 if (!bdaddr_type_is_valid(cp->addr.type) || in add_device()
6028 !bacmp(&cp->addr.bdaddr, BDADDR_ANY)) in add_device()
6031 &cp->addr, sizeof(cp->addr)); in add_device()
6033 if (cp->action != 0x00 && cp->action != 0x01 && cp->action != 0x02) in add_device()
6036 &cp->addr, sizeof(cp->addr)); in add_device()
6050 if (cp->addr.type == BDADDR_BREDR) { in add_device()
6052 if (cp->action != 0x01) { in add_device()
6059 err = hci_bdaddr_list_add(&hdev->whitelist, &cp->addr.bdaddr, in add_device()
6060 cp->addr.type); in add_device()
6069 if (cp->addr.type == BDADDR_LE_PUBLIC) in add_device()
6074 if (cp->action == 0x02) in add_device()
6076 else if (cp->action == 0x01) in add_device()
6084 if (hci_conn_params_set(&req, &cp->addr.bdaddr, addr_type, in add_device()
6092 device_added(sk, hdev, &cp->addr.bdaddr, cp->addr.type, cp->action); in add_device()
6142 struct mgmt_cp_remove_device *cp = data; in remove_device() local
6161 if (bacmp(&cp->addr.bdaddr, BDADDR_ANY)) { in remove_device()
6165 if (!bdaddr_type_is_valid(cp->addr.type)) { in remove_device()
6172 if (cp->addr.type == BDADDR_BREDR) { in remove_device()
6174 &cp->addr.bdaddr, in remove_device()
6175 cp->addr.type); in remove_device()
6185 device_removed(sk, hdev, &cp->addr.bdaddr, in remove_device()
6186 cp->addr.type); in remove_device()
6190 if (cp->addr.type == BDADDR_LE_PUBLIC) in remove_device()
6195 params = hci_conn_params_lookup(hdev, &cp->addr.bdaddr, in remove_device()
6216 device_removed(sk, hdev, &cp->addr.bdaddr, cp->addr.type); in remove_device()
6221 if (cp->addr.type) { in remove_device()
6269 struct mgmt_cp_load_conn_param *cp = data; in load_conn_param() local
6270 const u16 max_param_count = ((U16_MAX - sizeof(*cp)) / in load_conn_param()
6279 param_count = __le16_to_cpu(cp->param_count); in load_conn_param()
6287 expected_len = sizeof(*cp) + param_count * in load_conn_param()
6303 struct mgmt_conn_param *param = &cp->params[i]; in load_conn_param()
6355 struct mgmt_cp_set_external_config *cp = data; in set_external_config() local
6365 if (cp->config != 0x00 && cp->config != 0x01) in set_external_config()
6375 if (cp->config) in set_external_config()
6411 struct mgmt_cp_set_public_address *cp = data; in set_public_address() local
6421 if (!bacmp(&cp->bdaddr, BDADDR_ANY)) in set_public_address()
6431 changed = !!bacmp(&hdev->public_addr, &cp->bdaddr); in set_public_address()
6432 bacpy(&hdev->public_addr, &cp->bdaddr); in set_public_address()
6583 struct mgmt_cp_read_local_oob_ext_data *cp) in read_local_ssp_oob_req() argument
6590 cp, sizeof(*cp)); in read_local_ssp_oob_req()
6613 struct mgmt_cp_read_local_oob_ext_data *cp = data; in read_local_oob_ext_data() local
6623 switch (cp->type) { in read_local_oob_ext_data()
6659 switch (cp->type) { in read_local_oob_ext_data()
6662 err = read_local_ssp_oob_req(hdev, sk, cp); in read_local_oob_ext_data()
6748 rp->type = cp->type; in read_local_oob_ext_data()
6934 struct mgmt_cp_add_advertising *cp = data; in add_advertising() local
6951 flags = __le32_to_cpu(cp->flags); in add_advertising()
6952 timeout = __le16_to_cpu(cp->timeout); in add_advertising()
6958 if (cp->instance != 0x01 || (flags & ~supported_flags)) in add_advertising()
6978 if (!tlv_data_is_valid(hdev, flags, cp->data, cp->adv_data_len, true) || in add_advertising()
6979 !tlv_data_is_valid(hdev, flags, cp->data + cp->adv_data_len, in add_advertising()
6980 cp->scan_rsp_len, false)) { in add_advertising()
6989 hdev->adv_instance.adv_data_len = cp->adv_data_len; in add_advertising()
6990 hdev->adv_instance.scan_rsp_len = cp->scan_rsp_len; in add_advertising()
6992 if (cp->adv_data_len) in add_advertising()
6993 memcpy(hdev->adv_instance.adv_data, cp->data, cp->adv_data_len); in add_advertising()
6995 if (cp->scan_rsp_len) in add_advertising()
6997 cp->data + cp->adv_data_len, cp->scan_rsp_len); in add_advertising()
7080 struct mgmt_cp_remove_advertising *cp = data; in remove_advertising() local
7091 if (cp->instance > 1) in remove_advertising()
7386 struct hci_cp_write_le_host_supported cp; in powered_update_hci() local
7388 cp.le = 0x01; in powered_update_hci()
7389 cp.simul = 0x00; in powered_update_hci()
7394 if (cp.le != lmp_host_le_capable(hdev) || in powered_update_hci()
7395 cp.simul != lmp_host_le_br_capable(hdev)) in powered_update_hci()
7397 sizeof(cp), &cp); in powered_update_hci()
7746 struct mgmt_cp_unpair_device *cp = cmd->param; in unpair_device_rsp() local
7748 device_unpaired(hdev, &cp->addr.bdaddr, cp->addr.type, cmd->sk); in unpair_device_rsp()
7757 struct mgmt_mode *cp; in mgmt_powering_down() local
7763 cp = cmd->param; in mgmt_powering_down()
7764 if (!cp->val) in mgmt_powering_down()
7810 struct mgmt_cp_disconnect *cp; in mgmt_disconnect_failed() local
7820 cp = cmd->param; in mgmt_disconnect_failed()
7822 if (bacmp(bdaddr, &cp->addr.bdaddr)) in mgmt_disconnect_failed()
7825 if (cp->addr.type != bdaddr_type) in mgmt_disconnect_failed()
8033 struct hci_cp_write_eir cp; in clear_eir() local
8040 memset(&cp, 0, sizeof(cp)); in clear_eir()
8042 hci_req_add(req, HCI_OP_WRITE_EIR, sizeof(cp), &cp); in clear_eir()