Loading system/hci/Android.mk +2 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,8 @@ LOCAL_SRC_FILES := \ src/hci_packet_parser.c \ src/low_power_manager.c \ src/packet_fragmenter.c \ src/vendor.c src/vendor.c \ EventLogTags.logtags ifeq ($(BLUETOOTH_HCI_USE_MCT),true) LOCAL_CFLAGS += -DHCI_USE_MCT Loading system/hci/EventLogTags.logtags 0 → 100644 +36 −0 Original line number Diff line number Diff line # The entries in this file map a sparse set of log tag numbers to tag names. # This is installed on the device, in /system/etc, and parsed by logcat. # # Tag numbers are decimal integers, from 0 to 2^31. (Let's leave the # negative values alone for now.) # # Tag names are one or more ASCII letters and numbers or underscores, i.e. # "[A-Z][a-z][0-9]_". Do not include spaces or punctuation (the former # impacts log readability, the latter makes regex searches more annoying). # # Tag numbers and names are separated by whitespace. Blank lines and lines # starting with '#' are ignored. # # Optionally, after the tag names can be put a description for the value(s) # of the tag. Description are in the format # (<name>|data type[|data unit]) # Multiple values are separated by commas. # # The data type is a number from the following values: # 1: int # 2: long # 3: string # 4: list # # The data unit is a number taken from the following list: # 1: Number of objects # 2: Number of bytes # 3: Number of milliseconds # 4: Number of allocations # 5: Id # 6: Percent # Default value for data of type int/long is 2 (bytes). # # TODO: generate ".java" and ".h" files with integer constants from this file. 1000002 bt_hci_timeout (opcode|1) system/hci/src/hci_layer.c +3 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,8 @@ bt_bdaddr_t btif_local_bd_addr; #define PREAMBLE_BUFFER_SIZE 4 // max preamble size, ACL #define RETRIEVE_ACL_LENGTH(preamble) ((((preamble)[3]) << 8) | (preamble)[2]) #define BT_HCI_TIMEOUT_TAG_NUM 1000002 static const uint8_t preamble_sizes[] = { HCI_COMMAND_PREAMBLE_SIZE, HCI_ACL_PREAMBLE_SIZE, Loading Loading @@ -531,6 +533,7 @@ static void command_timed_out(UNUSED_ATTR void *context) { // We shouldn't try to recover the stack from this command timeout. // If it's caused by a software bug, fix it. If it's a hardware bug, fix it. LOG_ERROR("%s hci layer timeout waiting for response to a command. opcode: 0x%x", __func__, wait_entry->opcode); LOG_EVENT_INT(BT_HCI_TIMEOUT_TAG_NUM, wait_entry->opcode); } LOG_ERROR("%s restarting the bluetooth process.", __func__); Loading Loading
system/hci/Android.mk +2 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,8 @@ LOCAL_SRC_FILES := \ src/hci_packet_parser.c \ src/low_power_manager.c \ src/packet_fragmenter.c \ src/vendor.c src/vendor.c \ EventLogTags.logtags ifeq ($(BLUETOOTH_HCI_USE_MCT),true) LOCAL_CFLAGS += -DHCI_USE_MCT Loading
system/hci/EventLogTags.logtags 0 → 100644 +36 −0 Original line number Diff line number Diff line # The entries in this file map a sparse set of log tag numbers to tag names. # This is installed on the device, in /system/etc, and parsed by logcat. # # Tag numbers are decimal integers, from 0 to 2^31. (Let's leave the # negative values alone for now.) # # Tag names are one or more ASCII letters and numbers or underscores, i.e. # "[A-Z][a-z][0-9]_". Do not include spaces or punctuation (the former # impacts log readability, the latter makes regex searches more annoying). # # Tag numbers and names are separated by whitespace. Blank lines and lines # starting with '#' are ignored. # # Optionally, after the tag names can be put a description for the value(s) # of the tag. Description are in the format # (<name>|data type[|data unit]) # Multiple values are separated by commas. # # The data type is a number from the following values: # 1: int # 2: long # 3: string # 4: list # # The data unit is a number taken from the following list: # 1: Number of objects # 2: Number of bytes # 3: Number of milliseconds # 4: Number of allocations # 5: Id # 6: Percent # Default value for data of type int/long is 2 (bytes). # # TODO: generate ".java" and ".h" files with integer constants from this file. 1000002 bt_hci_timeout (opcode|1)
system/hci/src/hci_layer.c +3 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,8 @@ bt_bdaddr_t btif_local_bd_addr; #define PREAMBLE_BUFFER_SIZE 4 // max preamble size, ACL #define RETRIEVE_ACL_LENGTH(preamble) ((((preamble)[3]) << 8) | (preamble)[2]) #define BT_HCI_TIMEOUT_TAG_NUM 1000002 static const uint8_t preamble_sizes[] = { HCI_COMMAND_PREAMBLE_SIZE, HCI_ACL_PREAMBLE_SIZE, Loading Loading @@ -531,6 +533,7 @@ static void command_timed_out(UNUSED_ATTR void *context) { // We shouldn't try to recover the stack from this command timeout. // If it's caused by a software bug, fix it. If it's a hardware bug, fix it. LOG_ERROR("%s hci layer timeout waiting for response to a command. opcode: 0x%x", __func__, wait_entry->opcode); LOG_EVENT_INT(BT_HCI_TIMEOUT_TAG_NUM, wait_entry->opcode); } LOG_ERROR("%s restarting the bluetooth process.", __func__); Loading