From 9d8b811af253e6e0f690bc5ad74aec3242afbe43 Mon Sep 17 00:00:00 2001 From: Chris Manton Date: Mon, 23 Nov 2020 15:08:30 -0800 Subject: [PATCH] Add hci error code ROLE_SWITCH_FAILED Seen in the wild with Bose soundtouch Bug: 163134718 Tag: #refactor Test: gd/cert/run --host Change-Id: I29007526787876f148d664d95ffadaa5e52551d0 --- gd/hci/hci_packets.pdl | 1 + main/shim/helpers.h | 2 ++ stack/include/hci_error_code.h | 11 ++++++----- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gd/hci/hci_packets.pdl b/gd/hci/hci_packets.pdl index cae343ff9..56bc774ad 100644 --- a/gd/hci/hci_packets.pdl +++ b/gd/hci/hci_packets.pdl @@ -786,6 +786,7 @@ enum ErrorCode: 8 { ROLE_CHANGE_NOT_ALLOWED = 0x21, LINK_LAYER_COLLISION = 0x23, ENCRYPTION_MODE_NOT_ACCEPTABLE = 0x25, + ROLE_SWITCH_FAILED = 0x35, CONTROLLER_BUSY = 0x3A, CONNECTION_FAILED_ESTABLISHMENT = 0x3E, } diff --git a/main/shim/helpers.h b/main/shim/helpers.h index ae6b2705e..686ecbcb7 100644 --- a/main/shim/helpers.h +++ b/main/shim/helpers.h @@ -206,6 +206,8 @@ inline tHCI_STATUS ToLegacyHciErrorCode(hci::ErrorCode reason) { return HCI_ERR_LMP_ERR_TRANS_COLLISION; case hci::ErrorCode::ENCRYPTION_MODE_NOT_ACCEPTABLE: return HCI_ERR_ENCRY_MODE_NOT_ACCEPTABLE; + case hci::ErrorCode::ROLE_SWITCH_FAILED: + return static_cast(hci::ErrorCode::ROLE_SWITCH_FAILED); case hci::ErrorCode::CONTROLLER_BUSY: return static_cast(hci::ErrorCode::CONTROLLER_BUSY); case hci::ErrorCode::CONNECTION_FAILED_ESTABLISHMENT: diff --git a/stack/include/hci_error_code.h b/stack/include/hci_error_code.h index 27a5923c6..a9aea3582 100644 --- a/stack/include/hci_error_code.h +++ b/stack/include/hci_error_code.h @@ -52,11 +52,12 @@ typedef enum : uint8_t { HCI_ERR_DIFF_TRANSACTION_COLLISION = 0x2A, // stack/btm/btm_sec HCI_ERR_INSUFFCIENT_SECURITY = 0x2F, // btif/btu HCI_ERR_ROLE_SWITCH_PENDING = 0x32, // stack/btm/btm_sco - HCI_ERR_HOST_BUSY_PAIRING = 0x38, // stack/btm/btm_sec - HCI_ERR_UNACCEPT_CONN_INTERVAL = 0x3B, // stack/l2cap/l2c_ble - HCI_ERR_ADVERTISING_TIMEOUT = 0x3C, // stack/btm/btm_ble - HCI_ERR_CONN_FAILED_ESTABLISHMENT = 0x3E, // GATT_CONN_FAIL_ESTABLISH - HCI_ERR_LIMIT_REACHED = 0x43, // stack/btm/btm_ble_multi_adv.cc + HCI_ERR_ROLE_SWITCH_FAILED = 0x35, + HCI_ERR_HOST_BUSY_PAIRING = 0x38, // stack/btm/btm_sec + HCI_ERR_UNACCEPT_CONN_INTERVAL = 0x3B, // stack/l2cap/l2c_ble + HCI_ERR_ADVERTISING_TIMEOUT = 0x3C, // stack/btm/btm_ble + HCI_ERR_CONN_FAILED_ESTABLISHMENT = 0x3E, // GATT_CONN_FAIL_ESTABLISH + HCI_ERR_LIMIT_REACHED = 0x43, // stack/btm/btm_ble_multi_adv.cc HCI_ERR_MAX_ERR = 0x43, // TODO remove. randomly used HCI_ERR_UNDEFINED = 0xff, -- 2.11.0