l2cap: set extended flow control bit in information response if enabled

This commit is contained in:
Matthias Ringwald 2024-10-26 17:12:38 +02:00
parent 9244e83c85
commit bb1f325522
2 changed files with 6 additions and 2 deletions

View File

@ -63,6 +63,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- GAP: allow use of own address type different from gap_random_set_mode() incl. RPA in LE Extended Advertising
- GAP: emit GAP_SUBEVENT_LE_CONNECTION_COMPLETE for failed outgoing connections
- HCI: improved BIG setup/termination
- L2CAP: set extended flow control bit in information response if enabled
- SM: abort pairing with invalid parameter error for encryption key size > 16
- SM: ignore Security Request after re-encryption has started
- SM: respond to Pairing Request after Identity Resolution failed

View File

@ -1638,6 +1638,9 @@ static uint32_t l2cap_extended_features_mask(void){
uint32_t features = 0x280;
#ifdef ENABLE_L2CAP_ENHANCED_RETRANSMISSION_MODE
features |= 0x0028;
#endif
#ifdef ENABLE_L2CAP_ENHANCED_CREDIT_BASED_FLOW_CONTROL_MODE
features |= 0x0400;
#endif
return features;
}
@ -1922,13 +1925,13 @@ static void l2cap_run_signaling_response(void) {
case INFORMATION_REQUEST:
switch (info_type){
case L2CAP_INFO_TYPE_CONNECTIONLESS_MTU: {
uint16_t connectionless_mtu = hci_max_acl_data_packet_length();
uint16_t connectionless_mtu = hci_max_acl_data_packet_length();
l2cap_send_classic_signaling_packet(handle, INFORMATION_RESPONSE, sig_id, info_type, 0,
sizeof(connectionless_mtu), &connectionless_mtu);
}
break;
case L2CAP_INFO_TYPE_EXTENDED_FEATURES_SUPPORTED: {
uint32_t features = l2cap_extended_features_mask();
uint32_t features = l2cap_extended_features_mask();
l2cap_send_classic_signaling_packet(handle, INFORMATION_RESPONSE, sig_id, info_type, 0,
sizeof(features), &features);
}