Lines Matching refs: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;
481 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE, MGMT_OP_READ_INDEX_LIST,
486 return err;
496 int err;
539 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE,
544 return err;
553 int err;
604 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE,
610 return err;
1087 static void mesh_send_start_complete(struct hci_dev *hdev, void *data, int err);
1088 static void mesh_next(struct hci_dev *hdev, void *data, int err)
1095 err = hci_cmd_sync_queue(hdev, mesh_send_sync, mesh_tx,
1098 if (err < 0)
1315 static void mgmt_set_powered_complete(struct hci_dev *hdev, void *data, int err)
1326 bt_dev_dbg(hdev, "err %d", err);
1328 if (!err) {
1345 mgmt_status(err));
1366 int err;
1378 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_POWERED,
1385 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_POWERED,
1391 err = send_settings_rsp(sk, MGMT_OP_SET_POWERED, hdev);
1397 err = -ENOMEM;
1404 err = hci_cmd_sync_queue(hdev, set_powered_sync, cmd,
1408 err = hci_cmd_sync_submit(hdev, set_powered_sync, cmd,
1412 if (err < 0)
1417 return err;
1502 int err)
1506 bt_dev_dbg(hdev, "err %d", err);
1514 if (err) {
1515 u8 mgmt_err = mgmt_status(err);
1548 int err;
1574 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE,
1581 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE,
1587 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE,
1593 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE,
1610 err = send_settings_rsp(sk, MGMT_OP_SET_DISCOVERABLE, hdev);
1611 if (err < 0)
1615 err = new_settings(hdev, sk);
1636 err = send_settings_rsp(sk, MGMT_OP_SET_DISCOVERABLE, hdev);
1642 err = -ENOMEM;
1664 err = hci_cmd_sync_queue(hdev, set_discoverable_sync, cmd,
1667 if (err < 0)
1672 return err;
1676 int err)
1680 bt_dev_dbg(hdev, "err %d", err);
1688 if (err) {
1689 u8 mgmt_err = mgmt_status(err);
1707 int err;
1719 err = send_settings_rsp(sk, MGMT_OP_SET_CONNECTABLE, hdev);
1720 if (err < 0)
1721 return err;
1744 int err;
1760 err = set_connectable_update_settings(hdev, sk, cp->val);
1766 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_CONNECTABLE,
1773 err = -ENOMEM;
1788 err = hci_cmd_sync_queue(hdev, set_connectable_sync, cmd,
1791 if (err < 0)
1796 return err;
1804 int err;
1819 err = send_settings_rsp(sk, MGMT_OP_SET_BONDABLE, hdev);
1820 if (err < 0)
1829 err = new_settings(hdev, sk);
1834 return err;
1843 int err;
1866 err = send_settings_rsp(sk, MGMT_OP_SET_LINK_SECURITY, hdev);
1867 if (err < 0)
1871 err = new_settings(hdev, sk);
1877 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LINK_SECURITY,
1885 err = send_settings_rsp(sk, MGMT_OP_SET_LINK_SECURITY, hdev);
1891 err = -ENOMEM;
1895 err = hci_send_cmd(hdev, HCI_OP_WRITE_AUTH_ENABLE, sizeof(val), &val);
1896 if (err < 0) {
1903 return err;
1906 static void set_ssp_complete(struct hci_dev *hdev, void *data, int err)
1918 if (err) {
1919 u8 mgmt_err = mgmt_status(err);
1953 int err;
1958 err = hci_write_ssp_mode_sync(hdev, cp->val);
1960 if (!err && changed)
1963 return err;
1971 int err;
2000 err = send_settings_rsp(sk, MGMT_OP_SET_SSP, hdev);
2001 if (err < 0)
2005 err = new_settings(hdev, sk);
2011 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SSP,
2017 err = send_settings_rsp(sk, MGMT_OP_SET_SSP, hdev);
2023 err = -ENOMEM;
2025 err = hci_cmd_sync_queue(hdev, set_ssp_sync, cmd,
2028 if (err < 0) {
2029 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_SSP,
2038 return err;
2049 static void set_le_complete(struct hci_dev *hdev, void *data, int err)
2052 u8 status = mgmt_status(err);
2054 bt_dev_dbg(hdev, "err %d", err);
2075 int err;
2089 err = hci_write_le_host_supported_sync(hdev, val, 0);
2096 if (!err && hci_dev_test_flag(hdev, HCI_LE_ENABLED)) {
2111 return err;
2114 static void set_mesh_complete(struct hci_dev *hdev, void *data, int err)
2117 u8 status = mgmt_status(err);
2157 int err = 0;
2174 err = -ENOMEM;
2176 err = hci_cmd_sync_queue(hdev, set_mesh_sync, cmd,
2179 if (err < 0) {
2180 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_MESH_RECEIVER,
2188 return err;
2191 static void mesh_send_start_complete(struct hci_dev *hdev, void *data, int err)
2196 u8 mgmt_err = mgmt_status(err);
2219 int err = 0;
2238 err = PTR_ERR(adv);
2263 return err;
2334 int err;
2348 err = -ENOMEM;
2350 err = hci_cmd_sync_queue(hdev, send_cancel, cmd, NULL);
2352 if (err < 0) {
2353 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_MESH_SEND_CANCEL,
2361 return err;
2370 int err = 0;
2390 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_MESH_SEND,
2399 err = -ENOMEM;
2401 err = hci_cmd_sync_queue(hdev, mesh_send_sync, mesh_tx,
2404 if (err < 0) {
2405 bt_dev_err(hdev, "Send Mesh Failed %d", err);
2406 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_MESH_SEND,
2422 return err;
2429 int err;
2477 err = send_settings_rsp(sk, MGMT_OP_SET_LE, hdev);
2478 if (err < 0)
2482 err = new_settings(hdev, sk);
2489 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LE,
2496 err = -ENOMEM;
2498 err = hci_cmd_sync_queue(hdev, set_le_sync, cmd,
2501 if (err < 0) {
2502 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LE,
2511 return err;
2556 static void mgmt_class_complete(struct hci_dev *hdev, void *data, int err)
2560 bt_dev_dbg(hdev, "err %d", err);
2563 mgmt_status(err), hdev->dev_class, 3);
2570 int err;
2572 err = hci_update_class_sync(hdev);
2573 if (err)
2574 return err;
2584 int err;
2591 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_UUID,
2598 err = -ENOMEM;
2610 err = -ENOMEM;
2617 err = hci_cmd_sync_submit(hdev, add_uuid_sync, cmd,
2619 if (err < 0) {
2626 return err;
2645 int err;
2647 err = hci_update_class_sync(hdev);
2648 if (err)
2649 return err;
2663 int err, found;
2670 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_REMOVE_UUID,
2679 err = mgmt_cmd_complete(sk, hdev->id,
2700 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_REMOVE_UUID,
2708 err = -ENOMEM;
2715 err = hci_cmd_sync_submit(hdev, remove_uuid_sync, cmd,
2717 if (err < 0)
2722 return err;
2727 int err = 0;
2731 err = hci_update_eir_sync(hdev);
2734 if (err)
2735 return err;
2745 int err;
2756 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DEV_CLASS,
2762 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_DEV_CLASS,
2771 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_DEV_CLASS, 0,
2778 err = -ENOMEM;
2785 err = hci_cmd_sync_submit(hdev, set_class_sync, cmd,
2787 if (err < 0)
2792 return err;
2897 static void unpair_device_complete(struct hci_dev *hdev, void *data, int err)
2902 if (!err)
2905 cmd->cmd_complete(cmd, err);
2937 int err;
2956 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNPAIR_DEVICE,
2976 err = hci_remove_link_key(hdev, &cp->addr.bdaddr);
2977 if (err < 0) {
2978 err = mgmt_cmd_complete(sk, hdev->id,
2992 err = smp_cancel_and_remove_pairing(hdev, &cp->addr.bdaddr, addr_type);
2993 if (err < 0) {
2994 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNPAIR_DEVICE,
3032 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNPAIR_DEVICE, 0,
3041 err = -ENOMEM;
3047 err = hci_cmd_sync_queue(hdev, unpair_device_sync, cmd,
3049 if (err < 0)
3054 return err;
3064 int err;
3080 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_DISCONNECT,
3087 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_DISCONNECT,
3100 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_DISCONNECT,
3108 err = -ENOMEM;
3114 err = hci_disconnect(conn, HCI_ERROR_REMOTE_USER_TERM);
3115 if (err < 0)
3120 return err;
3148 int err;
3156 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_GET_CONNECTIONS,
3169 err = -ENOMEM;
3187 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONNECTIONS, 0, rp,
3194 return err;
3201 int err;
3210 err = hci_send_cmd(hdev, HCI_OP_PIN_CODE_NEG_REPLY,
3212 if (err < 0)
3215 return err;
3225 int err;
3232 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_PIN_CODE_REPLY,
3239 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_PIN_CODE_REPLY,
3251 err = send_pin_code_neg_reply(sk, hdev, &ncp);
3252 if (err >= 0)
3253 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_PIN_CODE_REPLY,
3261 err = -ENOMEM;
3271 err = hci_send_cmd(hdev, HCI_OP_PIN_CODE_REPLY, sizeof(reply), &reply);
3272 if (err < 0)
3277 return err;
3325 int err;
3330 err = mgmt_cmd_complete(cmd->sk, cmd->index, MGMT_OP_PAIR_DEVICE,
3347 return err;
3405 int err;
3426 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE,
3433 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE,
3481 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE,
3488 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE,
3495 err = -ENOMEM;
3522 err = 0;
3526 return err;
3535 int err;
3542 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_CANCEL_PAIR_DEVICE,
3549 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_CANCEL_PAIR_DEVICE,
3557 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_CANCEL_PAIR_DEVICE,
3565 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_CANCEL_PAIR_DEVICE, 0,
3583 return err;
3592 int err;
3597 err = mgmt_cmd_complete(sk, hdev->id, mgmt_op,
3610 err = mgmt_cmd_complete(sk, hdev->id, mgmt_op,
3617 err = smp_user_confirm_reply(conn, mgmt_op, passkey);
3618 if (!err)
3619 err = mgmt_cmd_complete(sk, hdev->id, mgmt_op,
3623 err = mgmt_cmd_complete(sk, hdev->id, mgmt_op,
3632 err = -ENOMEM;
3644 err = hci_send_cmd(hdev, hci_op, sizeof(cp), &cp);
3646 err = hci_send_cmd(hdev, hci_op, sizeof(addr->bdaddr),
3649 if (err < 0)
3654 return err;
3749 static void set_name_complete(struct hci_dev *hdev, void *data, int err)
3753 u8 status = mgmt_status(err);
3755 bt_dev_dbg(hdev, "err %d", err);
3795 int err;
3807 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_LOCAL_NAME, 0,
3817 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_LOCAL_NAME, 0,
3819 if (err < 0)
3822 err = mgmt_limited_event(MGMT_EV_LOCAL_NAME_CHANGED, hdev, data,
3831 err = -ENOMEM;
3833 err = hci_cmd_sync_queue(hdev, set_name_sync, cmd,
3836 if (err < 0) {
3837 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LOCAL_NAME,
3850 return err;
3863 int err;
3885 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_APPEARANCE, 0, NULL,
3890 return err;
3926 static void set_default_phy_complete(struct hci_dev *hdev, void *data, int err)
3930 u8 status = mgmt_status(err);
4010 int err;
4038 err = mgmt_cmd_status(sk, hdev->id,
4045 err = mgmt_cmd_status(sk, hdev->id,
4101 err = mgmt_cmd_complete(sk, hdev->id,
4111 err = -ENOMEM;
4113 err = hci_cmd_sync_queue(hdev, set_default_phy_sync, cmd,
4116 if (err < 0) {
4117 err = mgmt_cmd_status(sk, hdev->id,
4128 return err;
4134 int err = MGMT_STATUS_SUCCESS;
4166 err = MGMT_STATUS_NO_RESOURCES;
4177 err, NULL, 0);
4184 int err;
4204 err = mgmt_cmd_status(sk, hdev->id,
4217 err = send_settings_rsp(sk, MGMT_OP_SET_WIDEBAND_SPEECH, hdev);
4218 if (err < 0)
4222 err = new_settings(hdev, sk);
4226 return err;
4530 int err;
4559 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE,
4566 return err;
4575 int err;
4611 err = mgmt_cmd_complete(sk, hdev->id,
4618 return err;
4627 int err;
4676 err = mgmt_cmd_complete(sk, hdev->id,
4683 return err;
4692 int err;
4718 err = mgmt_cmd_status(sk, hdev->id,
4726 err = hdev->set_quality_report(hdev, val);
4728 err = aosp_set_quality_report(hdev, val);
4730 if (err) {
4731 err = mgmt_cmd_status(sk, hdev->id,
4749 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_EXP_FEATURE, 0,
4757 return err;
4765 int err;
4808 err = mgmt_cmd_complete(sk, hdev->id,
4815 return err;
4823 int err;
4866 err = mgmt_cmd_complete(sk, hdev->id,
4873 return err;
4882 int err;
4904 err = iso_init();
4906 err = iso_exit();
4908 if (!err)
4916 err = mgmt_cmd_complete(sk, MGMT_INDEX_NONE,
4923 return err;
5161 int handle, err;
5196 err = mgmt_cmd_complete(sk, hdev->id,
5202 return err;
5246 int err;
5268 err = hci_cmd_sync_queue(hdev, mgmt_add_adv_patterns_monitor_sync, cmd,
5270 if (err) {
5271 if (err == -ENOMEM)
5458 int err, status;
5476 err = hci_cmd_sync_submit(hdev, mgmt_remove_adv_monitor_sync, cmd,
5479 if (err) {
5482 if (err == -ENOMEM)
5500 static void read_local_oob_data_complete(struct hci_dev *hdev, void *data, int err)
5506 u8 status = mgmt_status(err);
5586 int err;
5593 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_DATA,
5599 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_DATA,
5606 err = -ENOMEM;
5608 err = hci_cmd_sync_queue(hdev, read_local_oob_data_sync, cmd,
5611 if (err < 0) {
5612 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_DATA,
5621 return err;
5628 int err;
5645 err = mgmt_cmd_complete(sk, hdev->id,
5652 err = hci_add_remote_oob_data(hdev, &cp->addr.bdaddr,
5655 if (err < 0)
5660 err = mgmt_cmd_complete(sk, hdev->id,
5674 err = mgmt_cmd_complete(sk, hdev->id,
5709 err = hci_add_remote_oob_data(hdev, &cp->addr.bdaddr,
5712 if (err < 0)
5717 err = mgmt_cmd_complete(sk, hdev->id,
5723 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_REMOTE_OOB_DATA,
5729 return err;
5737 int err;
5755 err = hci_remove_remote_oob_data(hdev, &cp->addr.bdaddr, cp->addr.type);
5756 if (err < 0)
5762 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_REMOVE_REMOTE_OOB_DATA,
5766 return err;
5819 static void start_discovery_complete(struct hci_dev *hdev, void *data, int err)
5828 bt_dev_dbg(hdev, "err %d", err);
5830 mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, mgmt_status(err),
5834 hci_discovery_set_state(hdev, err ? DISCOVERY_STOPPED:
5849 int err;
5856 err = mgmt_cmd_complete(sk, hdev->id, op,
5864 err = mgmt_cmd_complete(sk, hdev->id, op, MGMT_STATUS_BUSY,
5870 err = mgmt_cmd_complete(sk, hdev->id, op, status,
5877 err = mgmt_cmd_complete(sk, hdev->id, op, MGMT_STATUS_BUSY,
5896 err = -ENOMEM;
5900 err = hci_cmd_sync_queue(hdev, start_discovery_sync, cmd,
5902 if (err < 0) {
5911 return err;
5937 int err;
5944 err = mgmt_cmd_complete(sk, hdev->id,
5953 err = mgmt_cmd_complete(sk, hdev->id,
5961 err = mgmt_cmd_complete(sk, hdev->id,
5972 err = mgmt_cmd_complete(sk, hdev->id,
5983 err = mgmt_cmd_complete(sk, hdev->id,
5991 err = mgmt_cmd_complete(sk, hdev->id,
6000 err = -ENOMEM;
6018 err = mgmt_cmd_complete(sk, hdev->id,
6027 err = hci_cmd_sync_queue(hdev, start_discovery_sync, cmd,
6029 if (err < 0) {
6038 return err;
6058 static void stop_discovery_complete(struct hci_dev *hdev, void *data, int err)
6065 bt_dev_dbg(hdev, "err %d", err);
6067 mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, mgmt_status(err),
6071 if (!err)
6085 int err;
6092 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_STOP_DISCOVERY,
6099 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_STOP_DISCOVERY,
6107 err = -ENOMEM;
6111 err = hci_cmd_sync_queue(hdev, stop_discovery_sync, cmd,
6113 if (err < 0) {
6122 return err;
6130 int err;
6137 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_CONFIRM_NAME,
6145 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_CONFIRM_NAME,
6159 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_CONFIRM_NAME, 0,
6164 return err;
6172 int err;
6183 err = hci_bdaddr_list_add(&hdev->reject_list, &cp->addr.bdaddr,
6185 if (err < 0) {
6195 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_BLOCK_DEVICE, status,
6200 return err;
6208 int err;
6219 err = hci_bdaddr_list_del(&hdev->reject_list, &cp->addr.bdaddr,
6221 if (err < 0) {
6231 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_UNBLOCK_DEVICE, status,
6236 return err;
6248 int err;
6266 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_DEVICE_ID, 0,
6273 return err;
6276 static void enable_advertising_instance(struct hci_dev *hdev, int err)
6278 if (err)
6279 bt_dev_err(hdev, "failed to re-configure advertising %d", err);
6281 bt_dev_dbg(hdev, "status %d", err);
6284 static void set_advertising_complete(struct hci_dev *hdev, void *data, int err)
6289 u8 status = mgmt_status(err);
6327 err = hci_schedule_adv_instance_sync(hdev, instance, true);
6329 enable_advertising_instance(hdev, err);
6372 int err;
6419 err = send_settings_rsp(sk, MGMT_OP_SET_ADVERTISING, hdev);
6420 if (err < 0)
6424 err = new_settings(hdev, sk);
6431 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_ADVERTISING,
6438 err = -ENOMEM;
6440 err = hci_cmd_sync_queue(hdev, set_adv_sync, cmd,
6443 if (err < 0 && cmd)
6448 return err;
6455 int err;
6484 err = send_settings_rsp(sk, MGMT_OP_SET_STATIC_ADDRESS, hdev);
6485 if (err < 0)
6488 err = new_settings(hdev, sk);
6492 return err;
6500 int err;
6529 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_SET_SCAN_PARAMS, 0,
6541 return err;
6544 static void fast_connectable_complete(struct hci_dev *hdev, void *data, int err)
6548 bt_dev_dbg(hdev, "err %d", err);
6550 if (err) {
6552 mgmt_status(err));
6581 int err;
6599 err = send_settings_rsp(sk, MGMT_OP_SET_FAST_CONNECTABLE, hdev);
6605 err = send_settings_rsp(sk, MGMT_OP_SET_FAST_CONNECTABLE, hdev);
6613 err = -ENOMEM;
6615 err = hci_cmd_sync_queue(hdev, write_fast_connectable_sync, cmd,
6618 if (err < 0) {
6629 return err;
6632 static void set_bredr_complete(struct hci_dev *hdev, void *data, int err)
6636 bt_dev_dbg(hdev, "err %d", err);
6638 if (err) {
6639 u8 mgmt_err = mgmt_status(err);
6677 int err;
6696 err = send_settings_rsp(sk, MGMT_OP_SET_BREDR, hdev);
6710 err = send_settings_rsp(sk, MGMT_OP_SET_BREDR, hdev);
6711 if (err < 0)
6714 err = new_settings(hdev, sk);
6720 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_BREDR,
6741 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_BREDR,
6749 err = -ENOMEM;
6751 err = hci_cmd_sync_queue(hdev, set_bredr_sync, cmd,
6754 if (err < 0) {
6770 return err;
6773 static void set_secure_conn_complete(struct hci_dev *hdev, void *data, int err)
6778 bt_dev_dbg(hdev, "err %d", err);
6780 if (err) {
6781 u8 mgmt_err = mgmt_status(err);
6829 int err;
6867 err = send_settings_rsp(sk, MGMT_OP_SET_SECURE_CONN, hdev);
6868 if (err < 0)
6872 err = new_settings(hdev, sk);
6881 err = send_settings_rsp(sk, MGMT_OP_SET_SECURE_CONN, hdev);
6887 err = -ENOMEM;
6889 err = hci_cmd_sync_queue(hdev, set_secure_conn_sync, cmd,
6892 if (err < 0) {
6901 return err;
6909 int err;
6939 err = send_settings_rsp(sk, MGMT_OP_SET_DEBUG_KEYS, hdev);
6940 if (err < 0)
6944 err = new_settings(hdev, sk);
6948 return err;
6956 int err;
6996 err = send_settings_rsp(sk, MGMT_OP_SET_PRIVACY, hdev);
6997 if (err < 0)
7001 err = new_settings(hdev, sk);
7005 return err;
7031 int i, err;
7093 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_LOAD_IRKS, 0, NULL, 0);
7097 return err;
7126 int i, err;
7212 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_LOAD_LONG_TERM_KEYS, 0,
7217 return err;
7220 static void get_conn_info_complete(struct hci_dev *hdev, void *data, int err)
7228 bt_dev_dbg(hdev, "err %d", err);
7232 status = mgmt_status(err);
7254 int err;
7271 err = hci_read_rssi_sync(hdev, handle);
7276 if (!err && (!bdaddr_type_is_le(cp->addr.type) ||
7278 err = hci_read_tx_power_sync(hdev, handle, 0x00);
7281 if (!err && conn->max_tx_power == HCI_TX_POWER_INVALID)
7282 err = hci_read_tx_power_sync(hdev, handle, 0x01);
7284 return err;
7294 int err = 0;
7310 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONN_INFO,
7323 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONN_INFO,
7346 err = -ENOMEM;
7348 err = hci_cmd_sync_queue(hdev, get_conn_info_sync,
7352 if (err < 0) {
7369 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONN_INFO,
7375 return err;
7378 static void get_clock_info_complete(struct hci_dev *hdev, void *data, int err)
7384 u8 status = mgmt_status(err);
7386 bt_dev_dbg(hdev, "err %d", err);
7392 if (err)
7438 int err;
7454 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CLOCK_INFO,
7464 err = mgmt_cmd_complete(sk, hdev->id,
7476 err = -ENOMEM;
7478 err = hci_cmd_sync_queue(hdev, get_clock_info_sync, cmd,
7481 if (err < 0) {
7482 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CLOCK_INFO,
7492 return err;
7580 int err;
7602 err = mgmt_cmd_complete(sk, hdev->id,
7609 err = hci_bdaddr_list_add_with_flags(&hdev->accept_list,
7612 if (err)
7635 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_DEVICE,
7646 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_DEVICE,
7657 err = hci_cmd_sync_queue(hdev, add_device_sync, NULL, NULL);
7658 if (err < 0)
7667 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_DEVICE,
7673 return err;
7696 int err;
7707 err = mgmt_cmd_complete(sk, hdev->id,
7715 err = hci_bdaddr_list_del(&hdev->accept_list,
7718 if (err) {
7719 err = mgmt_cmd_complete(sk, hdev->id,
7742 err = mgmt_cmd_complete(sk, hdev->id,
7752 err = mgmt_cmd_complete(sk, hdev->id,
7761 err = mgmt_cmd_complete(sk, hdev->id,
7776 err = mgmt_cmd_complete(sk, hdev->id,
7808 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_REMOVE_DEVICE,
7813 return err;
7906 int err;
7929 err = send_options_rsp(sk, MGMT_OP_SET_EXTERNAL_CONFIG, hdev);
7930 if (err < 0)
7936 err = new_options(hdev, sk);
7954 return err;
7962 int err;
7983 err = send_options_rsp(sk, MGMT_OP_SET_PUBLIC_ADDRESS, hdev);
7984 if (err < 0)
7991 err = new_options(hdev, sk);
8006 return err;
8010 int err)
8017 u8 status = mgmt_status(err);
8113 err = mgmt_cmd_complete(cmd->sk, hdev->id,
8116 if (err < 0 || status)
8121 err = mgmt_limited_event(MGMT_EV_LOCAL_OOB_DATA_UPDATED, hdev,
8136 int err;
8143 err = hci_cmd_sync_queue(hdev, read_local_oob_data_sync, cmd,
8146 if (err < 0) {
8148 return err;
8162 int err;
8211 err = read_local_ssp_oob_req(hdev, sk, cp);
8213 if (!err)
8300 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_READ_LOCAL_OOB_EXT_DATA,
8302 if (err < 0 || status)
8305 err = mgmt_limited_event(MGMT_EV_LOCAL_OOB_DATA_UPDATED, hdev,
8312 return err;
8357 int err;
8399 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_READ_ADV_FEATURES,
8404 return err;
8527 int err)
8531 bt_dev_dbg(hdev, "err %d", err);
8541 if (!err) {
8558 static void add_advertising_complete(struct hci_dev *hdev, void *data, int err)
8568 if (err)
8570 mgmt_status(err));
8573 mgmt_status(err), &rp, sizeof(rp));
8575 add_adv_complete(hdev, cmd->sk, cp->instance, err);
8599 int err;
8628 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING,
8634 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING,
8642 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING,
8658 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING,
8695 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_ADVERTISING,
8706 err = -ENOMEM;
8712 err = hci_cmd_sync_queue(hdev, add_advertising_sync, cmd,
8714 if (err < 0)
8720 return err;
8724 int err)
8750 if (err) {
8761 mgmt_status(err));
8764 mgmt_status(err), &rp, sizeof(rp));
8792 int err;
8825 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_PARAMS,
8831 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_PARAMS,
8862 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_PARAMS,
8872 err = -ENOMEM;
8877 err = hci_cmd_sync_queue(hdev, add_ext_adv_params_sync, cmd,
8879 if (err < 0)
8886 err = mgmt_cmd_complete(sk, hdev->id,
8894 return err;
8897 static void add_ext_adv_data_complete(struct hci_dev *hdev, void *data, int err)
8903 add_adv_complete(hdev, cmd->sk, cp->instance, err);
8909 if (err)
8911 mgmt_status(err));
8914 mgmt_status(err), &rp, sizeof(rp));
8923 int err;
8926 err = hci_update_adv_data_sync(hdev, cp->instance);
8927 if (err)
8928 return err;
8930 err = hci_update_scan_rsp_data_sync(hdev, cp->instance);
8931 if (err)
8932 return err;
8948 int err = 0;
8958 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_DATA,
8965 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_DATA,
8971 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_DATA,
8981 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_DATA,
9021 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_DATA,
9029 err = -ENOMEM;
9033 err = hci_cmd_sync_queue(hdev, add_ext_adv_data_sync, cmd,
9035 if (err < 0) {
9056 return err;
9060 int err)
9066 bt_dev_dbg(hdev, "err %d", err);
9071 if (err)
9073 mgmt_status(err));
9085 int err;
9087 err = hci_remove_advertising_sync(hdev, cmd->sk, cp->instance, true);
9088 if (err)
9089 return err;
9092 err = hci_disable_advertising_sync(hdev);
9094 return err;
9102 int err;
9109 err = mgmt_cmd_status(sk, hdev->id,
9116 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_REMOVE_ADVERTISING,
9122 err = mgmt_cmd_status(sk, hdev->id, MGMT_OP_REMOVE_ADVERTISING,
9130 err = -ENOMEM;
9134 err = hci_cmd_sync_queue(hdev, remove_advertising_sync, cmd,
9136 if (err < 0)
9142 return err;
9371 void mgmt_power_on(struct hci_dev *hdev, int err)
9375 bt_dev_dbg(hdev, "err %d", err);
9379 if (!err) {
9428 void mgmt_set_powered_failed(struct hci_dev *hdev, int err)
9437 if (err == -ERFKILL)