Lines Matching refs:sk

271 static int read_version(struct sock *sk, struct hci_dev *hdev, void *data,  in read_version()  argument
276 BT_DBG("sock %p", sk); in read_version()
281 return mgmt_cmd_complete(sk, MGMT_INDEX_NONE, MGMT_OP_READ_VERSION, 0, in read_version()
285 static int read_commands(struct sock *sk, struct hci_dev *hdev, void *data, in read_commands() argument
293 BT_DBG("sock %p", sk); in read_commands()
295 if (hci_sock_test_flag(sk, HCI_SOCK_TRUSTED)) { in read_commands()
312 if (hci_sock_test_flag(sk, HCI_SOCK_TRUSTED)) { in read_commands()
330 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE, MGMT_OP_READ_COMMANDS, 0, in read_commands()
337 static int read_index_list(struct sock *sk, struct hci_dev *hdev, void *data, in read_index_list() argument
346 BT_DBG("sock %p", sk); in read_index_list()
389 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE, MGMT_OP_READ_INDEX_LIST, in read_index_list()
397 static int read_unconf_index_list(struct sock *sk, struct hci_dev *hdev, in read_unconf_index_list() argument
406 BT_DBG("sock %p", sk); in read_unconf_index_list()
449 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE, in read_unconf_index_list()
457 static int read_ext_index_list(struct sock *sk, struct hci_dev *hdev, in read_ext_index_list() argument
466 BT_DBG("sock %p", sk); in read_ext_index_list()
521 hci_sock_set_flag(sk, HCI_MGMT_EXT_INDEX_EVENTS); in read_ext_index_list()
522 hci_sock_clear_flag(sk, HCI_MGMT_INDEX_EVENTS); in read_ext_index_list()
523 hci_sock_clear_flag(sk, HCI_MGMT_UNCONF_INDEX_EVENTS); in read_ext_index_list()
525 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE, in read_ext_index_list()
569 static int send_options_rsp(struct sock *sk, u16 opcode, struct hci_dev *hdev) in send_options_rsp() argument
573 return mgmt_cmd_complete(sk, hdev->id, opcode, 0, &options, in send_options_rsp()
577 static int read_config_info(struct sock *sk, struct hci_dev *hdev, in read_config_info() argument
583 BT_DBG("sock %p %s", sk, hdev->name); in read_config_info()
601 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_READ_CONFIG_INFO, 0, in read_config_info()
1335 static void mgmt_init_hdev(struct sock *sk, struct hci_dev *hdev) in mgmt_init_hdev() argument
1351 static int read_controller_info(struct sock *sk, struct hci_dev *hdev, in read_controller_info() argument
1356 BT_DBG("sock %p %s", sk, hdev->name); in read_controller_info()
1377 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_READ_INFO, 0, &rp, in read_controller_info()
1381 static int send_settings_rsp(struct sock *sk, u16 opcode, struct hci_dev *hdev) in send_settings_rsp() argument
1385 return mgmt_cmd_complete(sk, hdev->id, opcode, 0, &settings, in send_settings_rsp()
1442 static void advertising_added(struct sock *sk, struct hci_dev *hdev, in advertising_added() argument
1449 mgmt_event(MGMT_EV_ADVERTISING_ADDED, hdev, &ev, sizeof(ev), sk); in advertising_added()
1452 static void advertising_removed(struct sock *sk, struct hci_dev *hdev, in advertising_removed() argument
1459 mgmt_event(MGMT_EV_ADVERTISING_REMOVED, hdev, &ev, sizeof(ev), sk); in advertising_removed()
1547 static int set_powered(struct sock *sk, struct hci_dev *hdev, void *data, in set_powered() argument
1557 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_POWERED, in set_powered()
1563 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_POWERED, in set_powered()
1572 mgmt_pending_add(sk, MGMT_OP_SET_POWERED, hdev, in set_powered()
1580 err = send_settings_rsp(sk, MGMT_OP_SET_POWERED, hdev); in set_powered()
1584 cmd = mgmt_pending_add(sk, MGMT_OP_SET_POWERED, hdev, data, len); in set_powered()
1627 struct sock *sk; member
1636 send_settings_rsp(cmd->sk, cmd->opcode, match->hdev); in settings_rsp()
1640 if (match->sk == NULL) { in settings_rsp()
1641 match->sk = cmd->sk; in settings_rsp()
1642 sock_hold(match->sk); in settings_rsp()
1652 mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode, *status); in cmd_status_rsp()
1672 return mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, status, in generic_cmd_complete()
1678 return mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, status, in addr_cmd_complete()
1720 mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode, mgmt_err); in set_discoverable_complete()
1738 send_settings_rsp(cmd->sk, MGMT_OP_SET_DISCOVERABLE, hdev); in set_discoverable_complete()
1741 new_settings(hdev, cmd->sk); in set_discoverable_complete()
1760 static int set_discoverable(struct sock *sk, struct hci_dev *hdev, void *data, in set_discoverable() argument
1774 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE, in set_discoverable()
1778 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE, in set_discoverable()
1788 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE, in set_discoverable()
1794 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE, in set_discoverable()
1801 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE, in set_discoverable()
1807 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE, in set_discoverable()
1824 err = send_settings_rsp(sk, MGMT_OP_SET_DISCOVERABLE, hdev); in set_discoverable()
1829 err = new_settings(hdev, sk); in set_discoverable()
1850 err = send_settings_rsp(sk, MGMT_OP_SET_DISCOVERABLE, hdev); in set_discoverable()
1854 cmd = mgmt_pending_add(sk, MGMT_OP_SET_DISCOVERABLE, hdev, data, len); in set_discoverable()
1977 mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode, mgmt_err); in set_connectable_complete()
1993 send_settings_rsp(cmd->sk, MGMT_OP_SET_CONNECTABLE, hdev); in set_connectable_complete()
1996 new_settings(hdev, cmd->sk); in set_connectable_complete()
2011 struct sock *sk, u8 val) in set_connectable_update_settings() argument
2026 err = send_settings_rsp(sk, MGMT_OP_SET_CONNECTABLE, hdev); in set_connectable_update_settings()
2033 return new_settings(hdev, sk); in set_connectable_update_settings()
2039 static int set_connectable(struct sock *sk, struct hci_dev *hdev, void *data, in set_connectable() argument
2052 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_CONNECTABLE, in set_connectable()
2056 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_CONNECTABLE, in set_connectable()
2062 err = set_connectable_update_settings(hdev, sk, cp->val); in set_connectable()
2068 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_CONNECTABLE, in set_connectable()
2073 cmd = mgmt_pending_add(sk, MGMT_OP_SET_CONNECTABLE, hdev, data, len); in set_connectable()
2126 err = set_connectable_update_settings(hdev, sk, in set_connectable()
2136 static int set_bondable(struct sock *sk, struct hci_dev *hdev, void *data, in set_bondable() argument
2146 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_BONDABLE, in set_bondable()
2156 err = send_settings_rsp(sk, MGMT_OP_SET_BONDABLE, hdev); in set_bondable()
2161 err = new_settings(hdev, sk); in set_bondable()
2168 static int set_link_security(struct sock *sk, struct hci_dev *hdev, void *data, in set_link_security() argument
2180 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LINK_SECURITY, in set_link_security()
2184 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LINK_SECURITY, in set_link_security()
2197 err = send_settings_rsp(sk, MGMT_OP_SET_LINK_SECURITY, hdev); in set_link_security()
2202 err = new_settings(hdev, sk); in set_link_security()
2208 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LINK_SECURITY, in set_link_security()
2216 err = send_settings_rsp(sk, MGMT_OP_SET_LINK_SECURITY, hdev); in set_link_security()
2220 cmd = mgmt_pending_add(sk, MGMT_OP_SET_LINK_SECURITY, hdev, data, len); in set_link_security()
2237 static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len) in set_ssp() argument
2248 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SSP, status); in set_ssp()
2251 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SSP, in set_ssp()
2255 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SSP, in set_ssp()
2276 err = send_settings_rsp(sk, MGMT_OP_SET_SSP, hdev); in set_ssp()
2281 err = new_settings(hdev, sk); in set_ssp()
2287 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SSP, in set_ssp()
2293 err = send_settings_rsp(sk, MGMT_OP_SET_SSP, hdev); in set_ssp()
2297 cmd = mgmt_pending_add(sk, MGMT_OP_SET_SSP, hdev, data, len); in set_ssp()
2318 static int set_hs(struct sock *sk, struct hci_dev *hdev, void *data, u16 len) in set_hs() argument
2329 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_HS, status); in set_hs()
2332 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_HS, in set_hs()
2336 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_HS, in set_hs()
2340 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_HS, in set_hs()
2346 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_HS, in set_hs()
2355 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_HS, in set_hs()
2363 err = send_settings_rsp(sk, MGMT_OP_SET_HS, hdev); in set_hs()
2368 err = new_settings(hdev, sk); in set_hs()
2391 new_settings(hdev, match.sk); in le_enable_complete()
2393 if (match.sk) in le_enable_complete()
2394 sock_put(match.sk); in le_enable_complete()
2415 static int set_le(struct sock *sk, struct hci_dev *hdev, void *data, u16 len) in set_le() argument
2427 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LE, in set_le()
2431 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LE, in set_le()
2445 return send_settings_rsp(sk, MGMT_OP_SET_LE, hdev); in set_le()
2447 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LE, in set_le()
2469 err = send_settings_rsp(sk, MGMT_OP_SET_LE, hdev); in set_le()
2474 err = new_settings(hdev, sk); in set_le()
2481 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LE, in set_le()
2486 cmd = mgmt_pending_add(sk, MGMT_OP_SET_LE, hdev, data, len); in set_le()
2568 mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, in mgmt_class_complete()
2584 static int add_uuid(struct sock *sk, struct hci_dev *hdev, void *data, u16 len) in add_uuid() argument
2597 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_UUID, in add_uuid()
2624 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_UUID, 0, in add_uuid()
2629 cmd = mgmt_pending_add(sk, MGMT_OP_ADD_UUID, hdev, data, len); in add_uuid()
2663 static int remove_uuid(struct sock *sk, struct hci_dev *hdev, void *data, in remove_uuid() argument
2678 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_REMOVE_UUID, in remove_uuid()
2687 err = mgmt_cmd_complete(sk, hdev->id, in remove_uuid()
2708 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_REMOVE_UUID, in remove_uuid()
2724 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_REMOVE_UUID, 0, in remove_uuid()
2729 cmd = mgmt_pending_add(sk, MGMT_OP_REMOVE_UUID, hdev, data, len); in remove_uuid()
2749 static int set_dev_class(struct sock *sk, struct hci_dev *hdev, void *data, in set_dev_class() argument
2760 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DEV_CLASS, in set_dev_class()
2766 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DEV_CLASS, in set_dev_class()
2772 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DEV_CLASS, in set_dev_class()
2781 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_DEV_CLASS, 0, in set_dev_class()
2802 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_DEV_CLASS, 0, in set_dev_class()
2807 cmd = mgmt_pending_add(sk, MGMT_OP_SET_DEV_CLASS, hdev, data, len); in set_dev_class()
2820 static int load_link_keys(struct sock *sk, struct hci_dev *hdev, void *data, in load_link_keys() argument
2833 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_LINK_KEYS, in load_link_keys()
2840 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_LINK_KEYS, in load_link_keys()
2849 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_LINK_KEYS, in load_link_keys()
2854 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_LINK_KEYS, in load_link_keys()
2864 return mgmt_cmd_status(sk, hdev->id, in load_link_keys()
2895 mgmt_cmd_complete(sk, hdev->id, MGMT_OP_LOAD_LINK_KEYS, 0, NULL, 0); in load_link_keys()
2914 static int unpair_device(struct sock *sk, struct hci_dev *hdev, void *data, in unpair_device() argument
2929 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNPAIR_DEVICE, in unpair_device()
2934 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNPAIR_DEVICE, in unpair_device()
2941 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNPAIR_DEVICE, in unpair_device()
2995 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNPAIR_DEVICE, in unpair_device()
3005 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNPAIR_DEVICE, 0, 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()
3031 static int disconnect(struct sock *sk, struct hci_dev *hdev, void *data, in disconnect() argument
3047 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_DISCONNECT, in disconnect()
3054 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_DISCONNECT, in disconnect()
3061 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_DISCONNECT, in disconnect()
3073 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_DISCONNECT, in disconnect()
3079 cmd = mgmt_pending_add(sk, MGMT_OP_DISCONNECT, hdev, data, len); in disconnect()
3115 static int get_connections(struct sock *sk, struct hci_dev *hdev, void *data, in get_connections() argument
3129 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_GET_CONNECTIONS, in get_connections()
3163 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONNECTIONS, 0, rp, in get_connections()
3173 static int send_pin_code_neg_reply(struct sock *sk, struct hci_dev *hdev, 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()
3192 static int pin_code_reply(struct sock *sk, struct hci_dev *hdev, void *data, in pin_code_reply() argument
3206 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_PIN_CODE_REPLY, in pin_code_reply()
3213 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_PIN_CODE_REPLY, in pin_code_reply()
3225 err = send_pin_code_neg_reply(sk, hdev, &ncp); in pin_code_reply()
3227 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_PIN_CODE_REPLY, in pin_code_reply()
3233 cmd = mgmt_pending_add(sk, MGMT_OP_PIN_CODE_REPLY, hdev, data, len); in pin_code_reply()
3254 static int set_io_capability(struct sock *sk, struct hci_dev *hdev, void *data, in set_io_capability() argument
3262 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_IO_CAPABILITY, in set_io_capability()
3274 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_IO_CAPABILITY, 0, in set_io_capability()
3305 err = mgmt_cmd_complete(cmd->sk, cmd->index, MGMT_OP_PAIR_DEVICE, in pairing_complete()
3372 static int pair_device(struct sock *sk, struct hci_dev *hdev, void *data, in pair_device() argument
3389 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE, in pair_device()
3394 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE, in pair_device()
3401 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE, in pair_device()
3408 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE, in pair_device()
3458 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE, in pair_device()
3465 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE, in pair_device()
3470 cmd = mgmt_pending_add(sk, MGMT_OP_PAIR_DEVICE, hdev, data, len); in pair_device()
3506 static int cancel_pair_device(struct sock *sk, struct hci_dev *hdev, void *data, in cancel_pair_device() argument
3519 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_CANCEL_PAIR_DEVICE, in cancel_pair_device()
3526 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_CANCEL_PAIR_DEVICE, in cancel_pair_device()
3534 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_CANCEL_PAIR_DEVICE, in cancel_pair_device()
3542 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_CANCEL_PAIR_DEVICE, 0, in cancel_pair_device()
3549 static int user_pairing_resp(struct sock *sk, struct hci_dev *hdev, in user_pairing_resp() argument
3560 err = mgmt_cmd_complete(sk, hdev->id, mgmt_op, in user_pairing_resp()
3572 err = mgmt_cmd_complete(sk, hdev->id, mgmt_op, in user_pairing_resp()
3581 err = mgmt_cmd_complete(sk, hdev->id, mgmt_op, in user_pairing_resp()
3585 err = mgmt_cmd_complete(sk, hdev->id, mgmt_op, in user_pairing_resp()
3592 cmd = mgmt_pending_add(sk, mgmt_op, hdev, addr, sizeof(*addr)); in user_pairing_resp()
3619 static int pin_code_neg_reply(struct sock *sk, struct hci_dev *hdev, in pin_code_neg_reply() argument
3626 return user_pairing_resp(sk, hdev, &cp->addr, in pin_code_neg_reply()
3631 static int user_confirm_reply(struct sock *sk, struct hci_dev *hdev, void *data, in user_confirm_reply() argument
3639 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_USER_CONFIRM_REPLY, in user_confirm_reply()
3642 return user_pairing_resp(sk, hdev, &cp->addr, in user_confirm_reply()
3647 static int user_confirm_neg_reply(struct sock *sk, struct hci_dev *hdev, in user_confirm_neg_reply() argument
3654 return user_pairing_resp(sk, hdev, &cp->addr, in user_confirm_neg_reply()
3659 static int user_passkey_reply(struct sock *sk, struct hci_dev *hdev, void *data, in user_passkey_reply() argument
3666 return user_pairing_resp(sk, hdev, &cp->addr, in user_passkey_reply()
3671 static int user_passkey_neg_reply(struct sock *sk, struct hci_dev *hdev, in user_passkey_neg_reply() argument
3678 return user_pairing_resp(sk, hdev, &cp->addr, in user_passkey_neg_reply()
3709 mgmt_cmd_status(cmd->sk, hdev->id, MGMT_OP_SET_LOCAL_NAME, in set_name_complete()
3712 mgmt_cmd_complete(cmd->sk, hdev->id, MGMT_OP_SET_LOCAL_NAME, 0, in set_name_complete()
3721 static int set_local_name(struct sock *sk, struct hci_dev *hdev, void *data, in set_local_name() argument
3739 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_LOCAL_NAME, 0, in set_local_name()
3749 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_LOCAL_NAME, 0, in set_local_name()
3755 data, len, sk); in set_local_name()
3760 cmd = mgmt_pending_add(sk, MGMT_OP_SET_LOCAL_NAME, hdev, data, len); in set_local_name()
3804 mgmt_cmd_status(cmd->sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_DATA, in read_local_oob_data_complete()
3815 mgmt_cmd_status(cmd->sk, hdev->id, in read_local_oob_data_complete()
3829 mgmt_cmd_status(cmd->sk, hdev->id, in read_local_oob_data_complete()
3842 mgmt_cmd_complete(cmd->sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_DATA, in read_local_oob_data_complete()
3849 static int read_local_oob_data(struct sock *sk, struct hci_dev *hdev, in read_local_oob_data() argument
3861 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_DATA, in read_local_oob_data()
3867 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_DATA, in read_local_oob_data()
3873 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_DATA, in read_local_oob_data()
3878 cmd = mgmt_pending_add(sk, MGMT_OP_READ_LOCAL_OOB_DATA, hdev, NULL, 0); in read_local_oob_data()
3900 static int add_remote_oob_data(struct sock *sk, struct hci_dev *hdev, in add_remote_oob_data() argument
3909 return mgmt_cmd_complete(sk, hdev->id, in add_remote_oob_data()
3921 err = mgmt_cmd_complete(sk, hdev->id, in add_remote_oob_data()
3936 err = mgmt_cmd_complete(sk, hdev->id, in add_remote_oob_data()
3950 err = mgmt_cmd_complete(sk, hdev->id, in add_remote_oob_data()
3993 err = mgmt_cmd_complete(sk, hdev->id, in add_remote_oob_data()
3998 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_REMOTE_OOB_DATA, in add_remote_oob_data()
4007 static int remove_remote_oob_data(struct sock *sk, struct hci_dev *hdev, in remove_remote_oob_data() argument
4017 return mgmt_cmd_complete(sk, hdev->id, in remove_remote_oob_data()
4037 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_REMOVE_REMOTE_OOB_DATA, in remove_remote_oob_data()
4254 static int start_discovery(struct sock *sk, struct hci_dev *hdev, in start_discovery() argument
4268 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_START_DISCOVERY, in start_discovery()
4276 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_START_DISCOVERY, in start_discovery()
4282 cmd = mgmt_pending_add(sk, MGMT_OP_START_DISCOVERY, hdev, data, len); in start_discovery()
4301 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_START_DISCOVERY, in start_discovery()
4323 return mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, status, in service_discovery_cmd_complete()
4327 static int start_service_discovery(struct sock *sk, struct hci_dev *hdev, in start_service_discovery() argument
4343 err = mgmt_cmd_complete(sk, hdev->id, in start_service_discovery()
4352 err = mgmt_cmd_complete(sk, hdev->id, in start_service_discovery()
4363 err = mgmt_cmd_complete(sk, hdev->id, in start_service_discovery()
4374 err = mgmt_cmd_complete(sk, hdev->id, in start_service_discovery()
4381 cmd = mgmt_pending_add(sk, MGMT_OP_START_SERVICE_DISCOVERY, in start_service_discovery()
4404 err = mgmt_cmd_complete(sk, hdev->id, in start_service_discovery()
4416 err = mgmt_cmd_complete(sk, hdev->id, in start_service_discovery()
4456 static int stop_discovery(struct sock *sk, struct hci_dev *hdev, void *data, in stop_discovery() argument
4469 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_STOP_DISCOVERY, in stop_discovery()
4476 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_STOP_DISCOVERY, in stop_discovery()
4482 cmd = mgmt_pending_add(sk, MGMT_OP_STOP_DISCOVERY, hdev, data, len); in stop_discovery()
4504 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_STOP_DISCOVERY, 0, in stop_discovery()
4514 static int confirm_name(struct sock *sk, struct hci_dev *hdev, void *data, in confirm_name() argument
4526 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_CONFIRM_NAME, in confirm_name()
4534 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_CONFIRM_NAME, in confirm_name()
4548 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_CONFIRM_NAME, 0, in confirm_name()
4556 static int block_device(struct sock *sk, struct hci_dev *hdev, void *data, in block_device() argument
4566 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_BLOCK_DEVICE, in block_device()
4580 sk); in block_device()
4584 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_BLOCK_DEVICE, status, in block_device()
4592 static int unblock_device(struct sock *sk, struct hci_dev *hdev, void *data, in unblock_device() argument
4602 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNBLOCK_DEVICE, in unblock_device()
4616 sk); in unblock_device()
4620 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNBLOCK_DEVICE, status, in unblock_device()
4628 static int set_device_id(struct sock *sk, struct hci_dev *hdev, void *data, in set_device_id() argument
4641 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DEVICE_ID, in set_device_id()
4651 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_DEVICE_ID, 0, in set_device_id()
4693 new_settings(hdev, match.sk); in set_advertising_complete()
4695 if (match.sk) in set_advertising_complete()
4696 sock_put(match.sk); in set_advertising_complete()
4717 static int set_advertising(struct sock *sk, struct hci_dev *hdev, void *data, in set_advertising() argument
4730 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_ADVERTISING, in set_advertising()
4734 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_ADVERTISING, in set_advertising()
4765 err = send_settings_rsp(sk, MGMT_OP_SET_ADVERTISING, hdev); in set_advertising()
4770 err = new_settings(hdev, sk); in set_advertising()
4777 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_ADVERTISING, in set_advertising()
4782 cmd = mgmt_pending_add(sk, MGMT_OP_SET_ADVERTISING, hdev, data, len); in set_advertising()
4813 static int set_static_address(struct sock *sk, struct hci_dev *hdev, in set_static_address() argument
4822 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_STATIC_ADDRESS, in set_static_address()
4826 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_STATIC_ADDRESS, in set_static_address()
4831 return mgmt_cmd_status(sk, hdev->id, in set_static_address()
4837 return mgmt_cmd_status(sk, hdev->id, in set_static_address()
4846 err = send_settings_rsp(sk, MGMT_OP_SET_STATIC_ADDRESS, hdev); in set_static_address()
4850 err = new_settings(hdev, sk); in set_static_address()
4857 static int set_scan_params(struct sock *sk, struct hci_dev *hdev, in set_scan_params() argument
4867 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SCAN_PARAMS, in set_scan_params()
4873 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SCAN_PARAMS, in set_scan_params()
4879 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SCAN_PARAMS, in set_scan_params()
4883 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SCAN_PARAMS, in set_scan_params()
4891 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_SCAN_PARAMS, 0, in set_scan_params()
4928 mgmt_cmd_status(cmd->sk, hdev->id, MGMT_OP_SET_FAST_CONNECTABLE, in fast_connectable_complete()
4938 send_settings_rsp(cmd->sk, MGMT_OP_SET_FAST_CONNECTABLE, hdev); in fast_connectable_complete()
4939 new_settings(hdev, cmd->sk); in fast_connectable_complete()
4948 static int set_fast_connectable(struct sock *sk, struct hci_dev *hdev, in set_fast_connectable() argument
4960 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_FAST_CONNECTABLE, in set_fast_connectable()
4964 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_FAST_CONNECTABLE, in set_fast_connectable()
4970 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_FAST_CONNECTABLE, in set_fast_connectable()
4976 err = send_settings_rsp(sk, MGMT_OP_SET_FAST_CONNECTABLE, in set_fast_connectable()
4983 err = send_settings_rsp(sk, MGMT_OP_SET_FAST_CONNECTABLE, in set_fast_connectable()
4985 new_settings(hdev, sk); in set_fast_connectable()
4989 cmd = mgmt_pending_add(sk, MGMT_OP_SET_FAST_CONNECTABLE, hdev, in set_fast_connectable()
5002 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_FAST_CONNECTABLE, in set_fast_connectable()
5033 mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode, mgmt_err); in set_bredr_complete()
5035 send_settings_rsp(cmd->sk, MGMT_OP_SET_BREDR, hdev); in set_bredr_complete()
5036 new_settings(hdev, cmd->sk); in set_bredr_complete()
5045 static int set_bredr(struct sock *sk, struct hci_dev *hdev, void *data, u16 len) in set_bredr() argument
5055 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_BREDR, in set_bredr()
5059 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_BREDR, in set_bredr()
5063 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_BREDR, in set_bredr()
5069 err = send_settings_rsp(sk, MGMT_OP_SET_BREDR, hdev); in set_bredr()
5084 err = send_settings_rsp(sk, MGMT_OP_SET_BREDR, hdev); in set_bredr()
5088 err = new_settings(hdev, sk); in set_bredr()
5094 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_BREDR, in set_bredr()
5115 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_BREDR, in set_bredr()
5122 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_BREDR, in set_bredr()
5127 cmd = mgmt_pending_add(sk, MGMT_OP_SET_BREDR, hdev, data, len); in set_bredr()
5171 mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode, in sc_enable_complete()
5193 send_settings_rsp(cmd->sk, MGMT_OP_SET_SECURE_CONN, hdev); in sc_enable_complete()
5194 new_settings(hdev, cmd->sk); in sc_enable_complete()
5202 static int set_secure_conn(struct sock *sk, struct hci_dev *hdev, in set_secure_conn() argument
5215 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SECURE_CONN, in set_secure_conn()
5221 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SECURE_CONN, in set_secure_conn()
5225 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SECURE_CONN, in set_secure_conn()
5247 err = send_settings_rsp(sk, MGMT_OP_SET_SECURE_CONN, hdev); in set_secure_conn()
5252 err = new_settings(hdev, sk); in set_secure_conn()
5258 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SECURE_CONN, in set_secure_conn()
5267 err = send_settings_rsp(sk, MGMT_OP_SET_SECURE_CONN, hdev); in set_secure_conn()
5271 cmd = mgmt_pending_add(sk, MGMT_OP_SET_SECURE_CONN, hdev, data, len); in set_secure_conn()
5290 static int set_debug_keys(struct sock *sk, struct hci_dev *hdev, in set_debug_keys() argument
5300 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DEBUG_KEYS, in set_debug_keys()
5325 err = send_settings_rsp(sk, MGMT_OP_SET_DEBUG_KEYS, hdev); in set_debug_keys()
5330 err = new_settings(hdev, sk); in set_debug_keys()
5337 static int set_privacy(struct sock *sk, struct hci_dev *hdev, void *cp_data, in set_privacy() argument
5347 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_PRIVACY, in set_privacy()
5351 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_PRIVACY, in set_privacy()
5355 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_PRIVACY, in set_privacy()
5375 err = send_settings_rsp(sk, MGMT_OP_SET_PRIVACY, hdev); in set_privacy()
5380 err = new_settings(hdev, sk); in set_privacy()
5403 static int load_irks(struct sock *sk, struct hci_dev *hdev, void *cp_data, in load_irks() argument
5415 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_IRKS, in load_irks()
5421 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_IRKS, in load_irks()
5429 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_IRKS, in load_irks()
5439 return mgmt_cmd_status(sk, hdev->id, in load_irks()
5463 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_LOAD_IRKS, 0, NULL, 0); in load_irks()
5489 static int load_long_term_keys(struct sock *sk, struct hci_dev *hdev, in load_long_term_keys() argument
5501 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_LONG_TERM_KEYS, in load_long_term_keys()
5507 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_LONG_TERM_KEYS, in load_long_term_keys()
5516 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_LONG_TERM_KEYS, in load_long_term_keys()
5526 return mgmt_cmd_status(sk, hdev->id, in load_long_term_keys()
5573 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_LOAD_LONG_TERM_KEYS, 0, in load_long_term_keys()
5599 err = mgmt_cmd_complete(cmd->sk, cmd->index, MGMT_OP_GET_CONN_INFO, in conn_info_cmd_complete()
5661 static int get_conn_info(struct sock *sk, struct hci_dev *hdev, void *data, in get_conn_info() argument
5677 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONN_INFO, in get_conn_info()
5684 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONN_INFO, in get_conn_info()
5697 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONN_INFO, in get_conn_info()
5704 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONN_INFO, in get_conn_info()
5755 cmd = mgmt_pending_add(sk, MGMT_OP_GET_CONN_INFO, hdev, in get_conn_info()
5773 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONN_INFO, in get_conn_info()
5807 err = mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, status, &rp, in clock_info_cmd_complete()
5850 static int get_clock_info(struct sock *sk, struct hci_dev *hdev, void *data, in get_clock_info() argument
5868 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CLOCK_INFO, in get_clock_info()
5875 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CLOCK_INFO, in get_clock_info()
5885 err = mgmt_cmd_complete(sk, hdev->id, in get_clock_info()
5895 cmd = mgmt_pending_add(sk, MGMT_OP_GET_CLOCK_INFO, hdev, data, len); in get_clock_info()
5985 static void device_added(struct sock *sk, struct hci_dev *hdev, in device_added() argument
5994 mgmt_event(MGMT_EV_DEVICE_ADDED, hdev, &ev, sizeof(ev), sk); in device_added()
6016 static int add_device(struct sock *sk, struct hci_dev *hdev, in add_device() argument
6029 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_DEVICE, in add_device()
6034 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_DEVICE, in add_device()
6042 cmd = mgmt_pending_add(sk, MGMT_OP_ADD_DEVICE, hdev, data, len); in add_device()
6092 device_added(sk, hdev, &cp->addr.bdaddr, cp->addr.type, cp->action); in add_device()
6109 static void device_removed(struct sock *sk, struct hci_dev *hdev, in device_removed() argument
6117 mgmt_event(MGMT_EV_DEVICE_REMOVED, hdev, &ev, sizeof(ev), sk); in device_removed()
6139 static int remove_device(struct sock *sk, struct hci_dev *hdev, in remove_device() argument
6153 cmd = mgmt_pending_add(sk, MGMT_OP_REMOVE_DEVICE, hdev, data, len); in remove_device()
6185 device_removed(sk, hdev, &cp->addr.bdaddr, in remove_device()
6216 device_removed(sk, hdev, &cp->addr.bdaddr, cp->addr.type); in remove_device()
6229 device_removed(sk, hdev, &b->bdaddr, b->bdaddr_type); in remove_device()
6239 device_removed(sk, hdev, &p->addr, p->addr_type); in remove_device()
6266 static int load_conn_param(struct sock *sk, struct hci_dev *hdev, void *data, in load_conn_param() argument
6276 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_CONN_PARAM, in load_conn_param()
6283 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_CONN_PARAM, in load_conn_param()
6292 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_LOAD_CONN_PARAM, in load_conn_param()
6348 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_LOAD_CONN_PARAM, 0, in load_conn_param()
6352 static int set_external_config(struct sock *sk, struct hci_dev *hdev, in set_external_config() argument
6362 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_EXTERNAL_CONFIG, in set_external_config()
6366 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_EXTERNAL_CONFIG, in set_external_config()
6370 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_EXTERNAL_CONFIG, in set_external_config()
6380 err = send_options_rsp(sk, MGMT_OP_SET_EXTERNAL_CONFIG, hdev); in set_external_config()
6387 err = new_options(hdev, sk); in set_external_config()
6408 static int set_public_address(struct sock *sk, struct hci_dev *hdev, in set_public_address() argument
6418 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_PUBLIC_ADDRESS, in set_public_address()
6422 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_PUBLIC_ADDRESS, in set_public_address()
6426 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_PUBLIC_ADDRESS, in set_public_address()
6434 err = send_options_rsp(sk, MGMT_OP_SET_PUBLIC_ADDRESS, hdev); in set_public_address()
6442 err = new_options(hdev, sk); in set_public_address()
6566 err = mgmt_cmd_complete(cmd->sk, hdev->id, in read_local_oob_ext_data_complete()
6572 hci_sock_set_flag(cmd->sk, HCI_MGMT_OOB_DATA_EVENTS); in read_local_oob_ext_data_complete()
6576 HCI_MGMT_OOB_DATA_EVENTS, cmd->sk); in read_local_oob_ext_data_complete()
6582 static int read_local_ssp_oob_req(struct hci_dev *hdev, struct sock *sk, in read_local_ssp_oob_req() argument
6589 cmd = mgmt_pending_add(sk, MGMT_OP_READ_LOCAL_OOB_EXT_DATA, hdev, in read_local_ssp_oob_req()
6610 static int read_local_oob_ext_data(struct sock *sk, struct hci_dev *hdev, in read_local_oob_ext_data() argument
6662 err = read_local_ssp_oob_req(hdev, sk, cp); in read_local_oob_ext_data()
6743 hci_sock_set_flag(sk, HCI_MGMT_OOB_DATA_EVENTS); in read_local_oob_ext_data()
6751 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_EXT_DATA, in read_local_oob_ext_data()
6758 HCI_MGMT_OOB_DATA_EVENTS, sk); in read_local_oob_ext_data()
6781 static int read_adv_features(struct sock *sk, struct hci_dev *hdev, in read_adv_features() argument
6793 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_READ_ADV_FEATURES, in read_adv_features()
6832 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_READ_ADV_FEATURES, in read_adv_features()
6898 advertising_removed(cmd ? cmd->sk : NULL, hdev, 1); in add_advertising_complete()
6907 mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode, in add_advertising_complete()
6910 mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, in add_advertising_complete()
6931 static int add_advertising(struct sock *sk, struct hci_dev *hdev, in add_advertising() argument
6948 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING, in add_advertising()
6959 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING, in add_advertising()
6965 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING, in add_advertising()
6973 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING, in add_advertising()
6981 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING, in add_advertising()
7010 advertising_added(sk, hdev, 1); in add_advertising()
7018 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_ADVERTISING, in add_advertising()
7026 cmd = mgmt_pending_add(sk, MGMT_OP_ADD_ADVERTISING, hdev, data, in add_advertising()
7069 mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, MGMT_STATUS_SUCCESS, in remove_advertising_complete()
7077 static int remove_advertising(struct sock *sk, struct hci_dev *hdev, in remove_advertising() argument
7092 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_REMOVE_ADVERTISING, in remove_advertising()
7100 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_REMOVE_ADVERTISING, in remove_advertising()
7106 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_REMOVE_ADVERTISING, in remove_advertising()
7116 advertising_removed(sk, hdev, 1); in remove_advertising()
7126 err = mgmt_cmd_complete(sk, hdev->id, in remove_advertising()
7132 cmd = mgmt_pending_add(sk, MGMT_OP_REMOVE_ADVERTISING, hdev, data, in remove_advertising()
7355 new_settings(hdev, match.sk); in powered_complete()
7359 if (match.sk) in powered_complete()
7360 sock_put(match.sk); in powered_complete()
7475 err = new_settings(hdev, match.sk); in mgmt_powered()
7477 if (match.sk) in mgmt_powered()
7478 sock_put(match.sk); in mgmt_powered()
7497 mgmt_cmd_status(cmd->sk, hdev->id, MGMT_OP_SET_POWERED, status); in mgmt_set_powered_failed()
7733 struct sock **sk = data; in disconnect_rsp() local
7737 *sk = cmd->sk; in disconnect_rsp()
7738 sock_hold(*sk); in disconnect_rsp()
7748 device_unpaired(hdev, &cp->addr.bdaddr, cp->addr.type, cmd->sk); in unpair_device_rsp()
7775 struct sock *sk = NULL; in mgmt_device_disconnected() local
7791 mgmt_pending_foreach(MGMT_OP_DISCONNECT, hdev, disconnect_rsp, &sk); in mgmt_device_disconnected()
7797 mgmt_event(MGMT_EV_DEVICE_DISCONNECTED, hdev, &ev, sizeof(ev), sk); in mgmt_device_disconnected()
7799 if (sk) in mgmt_device_disconnected()
7800 sock_put(sk); in mgmt_device_disconnected()
7995 cmd ? cmd->sk : NULL); in mgmt_auth_failed()
8024 new_settings(hdev, match.sk); in mgmt_auth_enable_complete()
8026 if (match.sk) in mgmt_auth_enable_complete()
8027 sock_put(match.sk); in mgmt_auth_enable_complete()
8079 new_settings(hdev, match.sk); in mgmt_ssp_enable_complete()
8081 if (match.sk) in mgmt_ssp_enable_complete()
8082 sock_put(match.sk); in mgmt_ssp_enable_complete()
8102 if (match->sk == NULL) { in sk_lookup()
8103 match->sk = cmd->sk; in sk_lookup()
8104 sock_hold(match->sk); in sk_lookup()
8121 if (match.sk) in mgmt_set_class_of_dev_complete()
8122 sock_put(match.sk); in mgmt_set_class_of_dev_complete()
8149 cmd ? cmd->sk : NULL); in mgmt_set_local_name_complete()