hci: split request remote supported features into read features page 0, 1, and 2

This commit is contained in:
Matthias Ringwald 2020-05-18 17:38:17 +02:00
parent ac1d102c1d
commit ba0187464a
2 changed files with 7 additions and 7 deletions

View File

@ -2221,7 +2221,7 @@ static void event_handler(uint8_t *packet, int size){
conn->con_handle = little_endian_read_16(packet, 3);
// queue get remote feature
conn->bonding_flags |= BONDING_REQUEST_REMOTE_FEATURES;
conn->bonding_flags |= BONDING_REQUEST_REMOTE_FEATURES_PAGE_0;
// queue set supervision timeout if we're master
if ((hci_stack->link_supervision_timeout != 0) && (conn->role == HCI_ROLE_MASTER)){
@ -3777,8 +3777,8 @@ static bool hci_run_general_pending_commmands(void){
return true;
}
if (connection->bonding_flags & BONDING_REQUEST_REMOTE_FEATURES){
connection->bonding_flags &= ~BONDING_REQUEST_REMOTE_FEATURES;
if (connection->bonding_flags & BONDING_REQUEST_REMOTE_FEATURES_PAGE_0){
connection->bonding_flags &= ~BONDING_REQUEST_REMOTE_FEATURES_PAGE_0;
hci_send_cmd(&hci_read_remote_supported_features_command, connection->con_handle);
return true;
}

View File

@ -231,10 +231,10 @@ typedef enum {
// bonding flags
enum {
BONDING_REQUEST_REMOTE_FEATURES = 0x0001,
BONDING_RECEIVED_REMOTE_FEATURES = 0x0002,
BONDING_REQUEST_REMOTE_EXTENDED_FEATURES = 0x0004,
BONDING_RECEIVED_REMOTE_EXTENDED_FEATURES = 0x0008,
BONDING_REQUEST_REMOTE_FEATURES_PAGE_0 = 0x0001,
BONDING_REQUEST_REMOTE_FEATURES_PAGE_1 = 0x0002,
BONDING_REQUEST_REMOTE_FEATURES_PAGE_2 = 0x0004,
BONDING_RECEIVED_REMOTE_FEATURES = 0x0008,
BONDING_REMOTE_SUPPORTS_SSP_CONTROLLER = 0x0010,
BONDING_REMOTE_SUPPORTS_SSP_HOST = 0x0020,
BONDING_DISCONNECT_SECURITY_BLOCK = 0x0040,