Lines Matching defs:err

286 static u8 mgmt_errno_status(int err)
288 switch (err) {
312 static u8 mgmt_status(int err)
314 if (err < 0)
315 return mgmt_errno_status(err);
317 if (err < ARRAY_SIZE(mgmt_status_table))
318 return mgmt_status_table[err];
385 int i, err;
424 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE, MGMT_OP_READ_COMMANDS, 0,
428 return err;
438 int err;
483 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE, MGMT_OP_READ_INDEX_LIST,
488 return err;
498 int err;
543 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE,
548 return err;
557 int err;
616 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE,
622 return err;
1099 static void mesh_send_start_complete(struct hci_dev *hdev, void *data, int err);
1100 static void mesh_next(struct hci_dev *hdev, void *data, int err)
1107 err = hci_cmd_sync_queue(hdev, mesh_send_sync, mesh_tx,
1110 if (err < 0)
1327 static void mgmt_set_powered_complete(struct hci_dev *hdev, void *data, int err)
1338 bt_dev_dbg(hdev, "err %d", err);
1340 if (!err) {
1357 mgmt_status(err));
1378 int err;
1389 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_POWERED,
1395 err = send_settings_rsp(sk, MGMT_OP_SET_POWERED, hdev);
1401 err = -ENOMEM;
1408 err = hci_cmd_sync_queue(hdev, set_powered_sync, cmd,
1412 err = hci_cmd_sync_submit(hdev, set_powered_sync, cmd,
1416 if (err < 0)
1421 return err;
1506 int err)
1510 bt_dev_dbg(hdev, "err %d", err);
1518 if (err) {
1519 u8 mgmt_err = mgmt_status(err);
1552 int err;
1578 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE,
1585 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE,
1591 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE,
1597 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE,
1614 err = send_settings_rsp(sk, MGMT_OP_SET_DISCOVERABLE, hdev);
1615 if (err < 0)
1619 err = new_settings(hdev, sk);
1640 err = send_settings_rsp(sk, MGMT_OP_SET_DISCOVERABLE, hdev);
1646 err = -ENOMEM;
1668 err = hci_cmd_sync_queue(hdev, set_discoverable_sync, cmd,
1671 if (err < 0)
1676 return err;
1680 int err)
1684 bt_dev_dbg(hdev, "err %d", err);
1692 if (err) {
1693 u8 mgmt_err = mgmt_status(err);
1712 int err;
1724 err = send_settings_rsp(sk, MGMT_OP_SET_CONNECTABLE, hdev);
1725 if (err < 0)
1726 return err;
1749 int err;
1765 err = set_connectable_update_settings(hdev, sk, cp->val);
1771 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_CONNECTABLE,
1778 err = -ENOMEM;
1793 err = hci_cmd_sync_queue(hdev, set_connectable_sync, cmd,
1796 if (err < 0)
1801 return err;
1809 int err;
1824 err = send_settings_rsp(sk, MGMT_OP_SET_BONDABLE, hdev);
1825 if (err < 0)
1834 err = new_settings(hdev, sk);
1839 return err;
1848 int err;
1871 err = send_settings_rsp(sk, MGMT_OP_SET_LINK_SECURITY, hdev);
1872 if (err < 0)
1876 err = new_settings(hdev, sk);
1882 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LINK_SECURITY,
1890 err = send_settings_rsp(sk, MGMT_OP_SET_LINK_SECURITY, hdev);
1896 err = -ENOMEM;
1900 err = hci_send_cmd(hdev, HCI_OP_WRITE_AUTH_ENABLE, sizeof(val), &val);
1901 if (err < 0) {
1908 return err;
1911 static void set_ssp_complete(struct hci_dev *hdev, void *data, int err)
1923 if (err) {
1924 u8 mgmt_err = mgmt_status(err);
1958 int err;
1963 err = hci_write_ssp_mode_sync(hdev, cp->val);
1965 if (!err && changed)
1968 return err;
1976 int err;
2005 err = send_settings_rsp(sk, MGMT_OP_SET_SSP, hdev);
2006 if (err < 0)
2010 err = new_settings(hdev, sk);
2016 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SSP,
2022 err = send_settings_rsp(sk, MGMT_OP_SET_SSP, hdev);
2028 err = -ENOMEM;
2030 err = hci_cmd_sync_queue(hdev, set_ssp_sync, cmd,
2033 if (err < 0) {
2034 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SSP,
2043 return err;
2054 static void set_le_complete(struct hci_dev *hdev, void *data, int err)
2057 u8 status = mgmt_status(err);
2059 bt_dev_dbg(hdev, "err %d", err);
2080 int err;
2094 err = hci_write_le_host_supported_sync(hdev, val, 0);
2101 if (!err && hci_dev_test_flag(hdev, HCI_LE_ENABLED)) {
2116 return err;
2119 static void set_mesh_complete(struct hci_dev *hdev, void *data, int err)
2122 u8 status = mgmt_status(err);
2162 int err = 0;
2179 err = -ENOMEM;
2181 err = hci_cmd_sync_queue(hdev, set_mesh_sync, cmd,
2184 if (err < 0) {
2185 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_MESH_RECEIVER,
2193 return err;
2196 static void mesh_send_start_complete(struct hci_dev *hdev, void *data, int err)
2201 u8 mgmt_err = mgmt_status(err);
2224 int err = 0;
2243 err = PTR_ERR(adv);
2268 return err;
2339 int err;
2353 err = -ENOMEM;
2355 err = hci_cmd_sync_queue(hdev, send_cancel, cmd, NULL);
2357 if (err < 0) {
2358 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_MESH_SEND_CANCEL,
2366 return err;
2375 int err = 0;
2395 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_MESH_SEND,
2404 err = -ENOMEM;
2406 err = hci_cmd_sync_queue(hdev, mesh_send_sync, mesh_tx,
2409 if (err < 0) {
2410 bt_dev_err(hdev, "Send Mesh Failed %d", err);
2411 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_MESH_SEND,
2427 return err;
2434 int err;
2482 err = send_settings_rsp(sk, MGMT_OP_SET_LE, hdev);
2483 if (err < 0)
2487 err = new_settings(hdev, sk);
2494 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LE,
2501 err = -ENOMEM;
2503 err = hci_cmd_sync_queue(hdev, set_le_sync, cmd,
2506 if (err < 0) {
2507 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LE,
2516 return err;
2561 static void mgmt_class_complete(struct hci_dev *hdev, void *data, int err)
2565 bt_dev_dbg(hdev, "err %d", err);
2568 mgmt_status(err), hdev->dev_class, 3);
2575 int err;
2577 err = hci_update_class_sync(hdev);
2578 if (err)
2579 return err;
2589 int err;
2596 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_UUID,
2603 err = -ENOMEM;
2615 err = -ENOMEM;
2619 err = hci_cmd_sync_queue(hdev, add_uuid_sync, cmd, mgmt_class_complete);
2620 if (err < 0) {
2627 return err;
2646 int err;
2648 err = hci_update_class_sync(hdev);
2649 if (err)
2650 return err;
2664 int err, found;
2671 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_REMOVE_UUID,
2680 err = mgmt_cmd_complete(sk, hdev->id,
2701 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_REMOVE_UUID,
2709 err = -ENOMEM;
2713 err = hci_cmd_sync_queue(hdev, remove_uuid_sync, cmd,
2715 if (err < 0)
2720 return err;
2725 int err = 0;
2729 err = hci_update_eir_sync(hdev);
2732 if (err)
2733 return err;
2743 int err;
2754 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DEV_CLASS,
2760 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DEV_CLASS,
2769 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_DEV_CLASS, 0,
2776 err = -ENOMEM;
2780 err = hci_cmd_sync_queue(hdev, set_class_sync, cmd,
2782 if (err < 0)
2787 return err;
2892 static void unpair_device_complete(struct hci_dev *hdev, void *data, int err)
2897 if (!err)
2900 cmd->cmd_complete(cmd, err);
2932 int err;
2951 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNPAIR_DEVICE,
2971 err = hci_remove_link_key(hdev, &cp->addr.bdaddr);
2972 if (err < 0) {
2973 err = mgmt_cmd_complete(sk, hdev->id,
2987 err = smp_cancel_and_remove_pairing(hdev, &cp->addr.bdaddr, addr_type);
2988 if (err < 0) {
2989 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNPAIR_DEVICE,
3027 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNPAIR_DEVICE, 0,
3036 err = -ENOMEM;
3042 err = hci_cmd_sync_queue(hdev, unpair_device_sync, cmd,
3044 if (err < 0)
3049 return err;
3059 int err;
3075 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_DISCONNECT,
3082 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_DISCONNECT,
3095 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_DISCONNECT,
3103 err = -ENOMEM;
3109 err = hci_disconnect(conn, HCI_ERROR_REMOTE_USER_TERM);
3110 if (err < 0)
3115 return err;
3143 int err;
3151 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_GET_CONNECTIONS,
3164 err = -ENOMEM;
3182 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONNECTIONS, 0, rp,
3189 return err;
3196 int err;
3205 err = hci_send_cmd(hdev, HCI_OP_PIN_CODE_NEG_REPLY,
3207 if (err < 0)
3210 return err;
3220 int err;
3227 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_PIN_CODE_REPLY,
3234 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_PIN_CODE_REPLY,
3246 err = send_pin_code_neg_reply(sk, hdev, &ncp);
3247 if (err >= 0)
3248 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_PIN_CODE_REPLY,
3256 err = -ENOMEM;
3266 err = hci_send_cmd(hdev, HCI_OP_PIN_CODE_REPLY, sizeof(reply), &reply);
3267 if (err < 0)
3272 return err;
3320 int err;
3325 err = mgmt_cmd_complete(cmd->sk, cmd->index, MGMT_OP_PAIR_DEVICE,
3342 return err;
3400 int err;
3421 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE,
3428 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE,
3475 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE,
3482 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE,
3489 err = -ENOMEM;
3516 err = 0;
3520 return err;
3529 int err;
3536 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_CANCEL_PAIR_DEVICE,
3543 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_CANCEL_PAIR_DEVICE,
3551 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_CANCEL_PAIR_DEVICE,
3559 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_CANCEL_PAIR_DEVICE, 0,
3577 return err;
3586 int err;
3591 err = mgmt_cmd_complete(sk, hdev->id, mgmt_op,
3604 err = mgmt_cmd_complete(sk, hdev->id, mgmt_op,
3611 err = smp_user_confirm_reply(conn, mgmt_op, passkey);
3612 if (!err)
3613 err = mgmt_cmd_complete(sk, hdev->id, mgmt_op,
3617 err = mgmt_cmd_complete(sk, hdev->id, mgmt_op,
3626 err = -ENOMEM;
3638 err = hci_send_cmd(hdev, hci_op, sizeof(cp), &cp);
3640 err = hci_send_cmd(hdev, hci_op, sizeof(addr->bdaddr),
3643 if (err < 0)
3648 return err;
3743 static void set_name_complete(struct hci_dev *hdev, void *data, int err)
3747 u8 status = mgmt_status(err);
3749 bt_dev_dbg(hdev, "err %d", err);
3789 int err;
3801 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_LOCAL_NAME, 0,
3811 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_LOCAL_NAME, 0,
3813 if (err < 0)
3816 err = mgmt_limited_event(MGMT_EV_LOCAL_NAME_CHANGED, hdev, data,
3825 err = -ENOMEM;
3827 err = hci_cmd_sync_queue(hdev, set_name_sync, cmd,
3830 if (err < 0) {
3831 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LOCAL_NAME,
3844 return err;
3857 int err;
3879 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_APPEARANCE, 0, NULL,
3884 return err;
3920 static void set_default_phy_complete(struct hci_dev *hdev, void *data, int err)
3924 u8 status = mgmt_status(err);
4004 int err;
4032 err = mgmt_cmd_status(sk, hdev->id,
4039 err = mgmt_cmd_status(sk, hdev->id,
4095 err = mgmt_cmd_complete(sk, hdev->id,
4105 err = -ENOMEM;
4107 err = hci_cmd_sync_queue(hdev, set_default_phy_sync, cmd,
4110 if (err < 0) {
4111 err = mgmt_cmd_status(sk, hdev->id,
4122 return err;
4128 int err = MGMT_STATUS_SUCCESS;
4160 err = MGMT_STATUS_NO_RESOURCES;
4171 err, NULL, 0);
4178 int err;
4198 err = mgmt_cmd_status(sk, hdev->id,
4211 err = send_settings_rsp(sk, MGMT_OP_SET_WIDEBAND_SPEECH, hdev);
4212 if (err < 0)
4216 err = new_settings(hdev, sk);
4220 return err;
4524 int err;
4553 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE,
4560 return err;
4569 int err;
4605 err = mgmt_cmd_complete(sk, hdev->id,
4612 return err;
4621 int err;
4670 err = mgmt_cmd_complete(sk, hdev->id,
4677 return err;
4686 int err;
4712 err = mgmt_cmd_status(sk, hdev->id,
4720 err = hdev->set_quality_report(hdev, val);
4722 err = aosp_set_quality_report(hdev, val);
4724 if (err) {
4725 err = mgmt_cmd_status(sk, hdev->id,
4743 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_EXP_FEATURE, 0,
4751 return err;
4759 int err;
4802 err = mgmt_cmd_complete(sk, hdev->id,
4809 return err;
4817 int err;
4860 err = mgmt_cmd_complete(sk, hdev->id,
4867 return err;
4876 int err;
4898 err = iso_init();
4900 err = iso_exit();
4902 if (!err)
4910 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE,
4917 return err;
5155 int handle, err;
5190 err = mgmt_cmd_complete(sk, hdev->id,
5196 return err;
5240 int err;
5262 err = hci_cmd_sync_queue(hdev, mgmt_add_adv_patterns_monitor_sync, cmd,
5264 if (err) {
5265 if (err == -ENOMEM)
5452 int err, status;
5470 err = hci_cmd_sync_queue(hdev, mgmt_remove_adv_monitor_sync, cmd,
5473 if (err) {
5476 if (err == -ENOMEM)
5494 static void read_local_oob_data_complete(struct hci_dev *hdev, void *data, int err)
5500 u8 status = mgmt_status(err);
5580 int err;
5587 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_DATA,
5593 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_DATA,
5600 err = -ENOMEM;
5602 err = hci_cmd_sync_queue(hdev, read_local_oob_data_sync, cmd,
5605 if (err < 0) {
5606 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_DATA,
5615 return err;
5622 int err;
5639 err = mgmt_cmd_complete(sk, hdev->id,
5646 err = hci_add_remote_oob_data(hdev, &cp->addr.bdaddr,
5649 if (err < 0)
5654 err = mgmt_cmd_complete(sk, hdev->id,
5668 err = mgmt_cmd_complete(sk, hdev->id,
5703 err = hci_add_remote_oob_data(hdev, &cp->addr.bdaddr,
5706 if (err < 0)
5711 err = mgmt_cmd_complete(sk, hdev->id,
5717 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_REMOTE_OOB_DATA,
5723 return err;
5731 int err;
5749 err = hci_remove_remote_oob_data(hdev, &cp->addr.bdaddr, cp->addr.type);
5750 if (err < 0)
5756 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_REMOVE_REMOTE_OOB_DATA,
5760 return err;
5813 static void start_discovery_complete(struct hci_dev *hdev, void *data, int err)
5822 bt_dev_dbg(hdev, "err %d", err);
5824 mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, mgmt_status(err),
5828 hci_discovery_set_state(hdev, err ? DISCOVERY_STOPPED:
5843 int err;
5850 err = mgmt_cmd_complete(sk, hdev->id, op,
5858 err = mgmt_cmd_complete(sk, hdev->id, op, MGMT_STATUS_BUSY,
5864 err = mgmt_cmd_complete(sk, hdev->id, op, status,
5871 err = mgmt_cmd_complete(sk, hdev->id, op, MGMT_STATUS_BUSY,
5890 err = -ENOMEM;
5894 err = hci_cmd_sync_queue(hdev, start_discovery_sync, cmd,
5896 if (err < 0) {
5905 return err;
5931 int err;
5938 err = mgmt_cmd_complete(sk, hdev->id,
5947 err = mgmt_cmd_complete(sk, hdev->id,
5955 err = mgmt_cmd_complete(sk, hdev->id,
5966 err = mgmt_cmd_complete(sk, hdev->id,
5977 err = mgmt_cmd_complete(sk, hdev->id,
5985 err = mgmt_cmd_complete(sk, hdev->id,
5994 err = -ENOMEM;
6012 err = mgmt_cmd_complete(sk, hdev->id,
6021 err = hci_cmd_sync_queue(hdev, start_discovery_sync, cmd,
6023 if (err < 0) {
6032 return err;
6052 static void stop_discovery_complete(struct hci_dev *hdev, void *data, int err)
6059 bt_dev_dbg(hdev, "err %d", err);
6061 mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, mgmt_status(err),
6065 if (!err)
6079 int err;
6086 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_STOP_DISCOVERY,
6093 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_STOP_DISCOVERY,
6101 err = -ENOMEM;
6105 err = hci_cmd_sync_queue(hdev, stop_discovery_sync, cmd,
6107 if (err < 0) {
6116 return err;
6124 int err;
6131 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_CONFIRM_NAME,
6139 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_CONFIRM_NAME,
6153 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_CONFIRM_NAME, 0,
6158 return err;
6166 int err;
6177 err = hci_bdaddr_list_add(&hdev->reject_list, &cp->addr.bdaddr,
6179 if (err < 0) {
6189 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_BLOCK_DEVICE, status,
6194 return err;
6202 int err;
6213 err = hci_bdaddr_list_del(&hdev->reject_list, &cp->addr.bdaddr,
6215 if (err < 0) {
6225 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNBLOCK_DEVICE, status,
6230 return err;
6242 int err;
6260 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_DEVICE_ID, 0,
6267 return err;
6270 static void enable_advertising_instance(struct hci_dev *hdev, int err)
6272 if (err)
6273 bt_dev_err(hdev, "failed to re-configure advertising %d", err);
6275 bt_dev_dbg(hdev, "status %d", err);
6278 static void set_advertising_complete(struct hci_dev *hdev, void *data, int err)
6283 u8 status = mgmt_status(err);
6321 err = hci_schedule_adv_instance_sync(hdev, instance, true);
6323 enable_advertising_instance(hdev, err);
6366 int err;
6413 err = send_settings_rsp(sk, MGMT_OP_SET_ADVERTISING, hdev);
6414 if (err < 0)
6418 err = new_settings(hdev, sk);
6425 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_ADVERTISING,
6432 err = -ENOMEM;
6434 err = hci_cmd_sync_queue(hdev, set_adv_sync, cmd,
6437 if (err < 0 && cmd)
6442 return err;
6449 int err;
6478 err = send_settings_rsp(sk, MGMT_OP_SET_STATIC_ADDRESS, hdev);
6479 if (err < 0)
6482 err = new_settings(hdev, sk);
6486 return err;
6494 int err;
6523 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_SCAN_PARAMS, 0,
6535 return err;
6538 static void fast_connectable_complete(struct hci_dev *hdev, void *data, int err)
6542 bt_dev_dbg(hdev, "err %d", err);
6544 if (err) {
6546 mgmt_status(err));
6575 int err;
6593 err = send_settings_rsp(sk, MGMT_OP_SET_FAST_CONNECTABLE, hdev);
6599 err = send_settings_rsp(sk, MGMT_OP_SET_FAST_CONNECTABLE, hdev);
6607 err = -ENOMEM;
6609 err = hci_cmd_sync_queue(hdev, write_fast_connectable_sync, cmd,
6612 if (err < 0) {
6623 return err;
6626 static void set_bredr_complete(struct hci_dev *hdev, void *data, int err)
6630 bt_dev_dbg(hdev, "err %d", err);
6632 if (err) {
6633 u8 mgmt_err = mgmt_status(err);
6671 int err;
6690 err = send_settings_rsp(sk, MGMT_OP_SET_BREDR, hdev);
6704 err = send_settings_rsp(sk, MGMT_OP_SET_BREDR, hdev);
6705 if (err < 0)
6708 err = new_settings(hdev, sk);
6714 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_BREDR,
6735 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_BREDR,
6743 err = -ENOMEM;
6745 err = hci_cmd_sync_queue(hdev, set_bredr_sync, cmd,
6748 if (err < 0) {
6764 return err;
6767 static void set_secure_conn_complete(struct hci_dev *hdev, void *data, int err)
6772 bt_dev_dbg(hdev, "err %d", err);
6774 if (err) {
6775 u8 mgmt_err = mgmt_status(err);
6823 int err;
6861 err = send_settings_rsp(sk, MGMT_OP_SET_SECURE_CONN, hdev);
6862 if (err < 0)
6866 err = new_settings(hdev, sk);
6875 err = send_settings_rsp(sk, MGMT_OP_SET_SECURE_CONN, hdev);
6881 err = -ENOMEM;
6883 err = hci_cmd_sync_queue(hdev, set_secure_conn_sync, cmd,
6886 if (err < 0) {
6895 return err;
6903 int err;
6933 err = send_settings_rsp(sk, MGMT_OP_SET_DEBUG_KEYS, hdev);
6934 if (err < 0)
6938 err = new_settings(hdev, sk);
6942 return err;
6950 int err;
6990 err = send_settings_rsp(sk, MGMT_OP_SET_PRIVACY, hdev);
6991 if (err < 0)
6995 err = new_settings(hdev, sk);
6999 return err;
7025 int i, err;
7087 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_LOAD_IRKS, 0, NULL, 0);
7091 return err;
7120 int i, err;
7206 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_LOAD_LONG_TERM_KEYS, 0,
7211 return err;
7214 static void get_conn_info_complete(struct hci_dev *hdev, void *data, int err)
7222 bt_dev_dbg(hdev, "err %d", err);
7226 status = mgmt_status(err);
7248 int err;
7265 err = hci_read_rssi_sync(hdev, handle);
7270 if (!err && (!bdaddr_type_is_le(cp->addr.type) ||
7272 err = hci_read_tx_power_sync(hdev, handle, 0x00);
7275 if (!err && conn->max_tx_power == HCI_TX_POWER_INVALID)
7276 err = hci_read_tx_power_sync(hdev, handle, 0x01);
7278 return err;
7288 int err = 0;
7304 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONN_INFO,
7317 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONN_INFO,
7340 err = -ENOMEM;
7342 err = hci_cmd_sync_queue(hdev, get_conn_info_sync,
7346 if (err < 0) {
7363 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONN_INFO,
7369 return err;
7372 static void get_clock_info_complete(struct hci_dev *hdev, void *data, int err)
7378 u8 status = mgmt_status(err);
7380 bt_dev_dbg(hdev, "err %d", err);
7386 if (err)
7432 int err;
7448 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CLOCK_INFO,
7458 err = mgmt_cmd_complete(sk, hdev->id,
7470 err = -ENOMEM;
7472 err = hci_cmd_sync_queue(hdev, get_clock_info_sync, cmd,
7475 if (err < 0) {
7476 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CLOCK_INFO,
7486 return err;
7574 int err;
7596 err = mgmt_cmd_complete(sk, hdev->id,
7603 err = hci_bdaddr_list_add_with_flags(&hdev->accept_list,
7606 if (err)
7629 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_DEVICE,
7640 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_DEVICE,
7651 err = hci_cmd_sync_queue(hdev, add_device_sync, NULL, NULL);
7652 if (err < 0)
7661 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_DEVICE,
7667 return err;
7690 int err;
7701 err = mgmt_cmd_complete(sk, hdev->id,
7709 err = hci_bdaddr_list_del(&hdev->accept_list,
7712 if (err) {
7713 err = mgmt_cmd_complete(sk, hdev->id,
7736 err = mgmt_cmd_complete(sk, hdev->id,
7746 err = mgmt_cmd_complete(sk, hdev->id,
7755 err = mgmt_cmd_complete(sk, hdev->id,
7770 err = mgmt_cmd_complete(sk, hdev->id,
7802 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_REMOVE_DEVICE,
7807 return err;
7900 int err;
7923 err = send_options_rsp(sk, MGMT_OP_SET_EXTERNAL_CONFIG, hdev);
7924 if (err < 0)
7930 err = new_options(hdev, sk);
7948 return err;
7956 int err;
7977 err = send_options_rsp(sk, MGMT_OP_SET_PUBLIC_ADDRESS, hdev);
7978 if (err < 0)
7985 err = new_options(hdev, sk);
8000 return err;
8004 int err)
8011 u8 status = mgmt_status(err);
8107 err = mgmt_cmd_complete(cmd->sk, hdev->id,
8110 if (err < 0 || status)
8115 err = mgmt_limited_event(MGMT_EV_LOCAL_OOB_DATA_UPDATED, hdev,
8130 int err;
8137 err = hci_cmd_sync_queue(hdev, read_local_oob_data_sync, cmd,
8140 if (err < 0) {
8142 return err;
8156 int err;
8205 err = read_local_ssp_oob_req(hdev, sk, cp);
8207 if (!err)
8294 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_EXT_DATA,
8296 if (err < 0 || status)
8299 err = mgmt_limited_event(MGMT_EV_LOCAL_OOB_DATA_UPDATED, hdev,
8306 return err;
8351 int err;
8393 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_READ_ADV_FEATURES,
8398 return err;
8521 int err)
8525 bt_dev_dbg(hdev, "err %d", err);
8535 if (!err) {
8552 static void add_advertising_complete(struct hci_dev *hdev, void *data, int err)
8562 if (err)
8564 mgmt_status(err));
8567 mgmt_status(err), &rp, sizeof(rp));
8569 add_adv_complete(hdev, cmd->sk, cp->instance, err);
8593 int err;
8622 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING,
8628 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING,
8636 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING,
8652 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING,
8689 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_ADVERTISING,
8700 err = -ENOMEM;
8706 err = hci_cmd_sync_queue(hdev, add_advertising_sync, cmd,
8708 if (err < 0)
8714 return err;
8718 int err)
8744 if (err) {
8755 mgmt_status(err));
8758 mgmt_status(err), &rp, sizeof(rp));
8787 int err;
8820 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_PARAMS,
8826 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_PARAMS,
8857 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_PARAMS,
8867 err = -ENOMEM;
8872 err = hci_cmd_sync_queue(hdev, add_ext_adv_params_sync, cmd,
8874 if (err < 0)
8881 err = mgmt_cmd_complete(sk, hdev->id,
8889 return err;
8892 static void add_ext_adv_data_complete(struct hci_dev *hdev, void *data, int err)
8898 add_adv_complete(hdev, cmd->sk, cp->instance, err);
8904 if (err)
8906 mgmt_status(err));
8909 mgmt_status(err), &rp, sizeof(rp));
8918 int err;
8921 err = hci_update_adv_data_sync(hdev, cp->instance);
8922 if (err)
8923 return err;
8925 err = hci_update_scan_rsp_data_sync(hdev, cp->instance);
8926 if (err)
8927 return err;
8943 int err = 0;
8953 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_DATA,
8960 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_DATA,
8966 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_DATA,
8976 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_DATA,
9016 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_DATA,
9024 err = -ENOMEM;
9028 err = hci_cmd_sync_queue(hdev, add_ext_adv_data_sync, cmd,
9030 if (err < 0) {
9051 return err;
9055 int err)
9061 bt_dev_dbg(hdev, "err %d", err);
9066 if (err)
9068 mgmt_status(err));
9080 int err;
9082 err = hci_remove_advertising_sync(hdev, cmd->sk, cp->instance, true);
9083 if (err)
9084 return err;
9087 err = hci_disable_advertising_sync(hdev);
9089 return err;
9097 int err;
9104 err = mgmt_cmd_status(sk, hdev->id,
9111 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_REMOVE_ADVERTISING,
9117 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_REMOVE_ADVERTISING,
9125 err = -ENOMEM;
9129 err = hci_cmd_sync_queue(hdev, remove_advertising_sync, cmd,
9131 if (err < 0)
9137 return err;
9384 void mgmt_power_on(struct hci_dev *hdev, int err)
9388 bt_dev_dbg(hdev, "err %d", err);
9392 if (!err) {
9441 void mgmt_set_powered_failed(struct hci_dev *hdev, int err)
9450 if (err == -ERFKILL)