feat(bt/bluedroid): Add flags for BQB auto test of L2CAP

1: add sdp_bqb_disable_flag to avoid running sdpu_build_n_send_error.
2: add sdp_bqb_inact_timeout_flag to set the SDP inactivity timeout to 90 seconds.
3: add l2cap_bqb_bad_cmd_len_rej_flag to reject the C-Frame with invalid PDU length
4: add l2cap_bqb_ertm_mode_included_flag to set L2CAP_FCR_ERTM_MODE for most L2CAP cases
This commit is contained in:
wanglai@espressif.com
2023-08-28 20:08:47 +08:00
committed by gongyantao
parent 10c7026053
commit afc7cf445e
5 changed files with 158 additions and 10 deletions

View File

@@ -39,6 +39,10 @@
#include "osi/allocator.h"
#include "osi/list.h"
#if BT_SDP_BQB_INCLUDED
extern BOOLEAN l2cap_bqb_ertm_mode_included_flag;
#endif /* BT_SDP_BQB_INCLUDED */
/*******************************************************************************
**
** Function l2cu_allocate_lcb
@@ -1558,8 +1562,17 @@ tL2C_CCB *l2cu_allocate_ccb (tL2C_LCB *p_lcb, UINT16 cid)
#if (CLASSIC_BT_INCLUDED == TRUE)
l2c_fcr_free_timer (p_ccb);
#endif ///CLASSIC_BT_INCLUDED == TRUE
p_ccb->ertm_info.preferred_mode = L2CAP_FCR_BASIC_MODE; /* Default mode for channel is basic mode */
p_ccb->ertm_info.allowed_modes = L2CAP_FCR_CHAN_OPT_BASIC|L2CAP_FCR_CHAN_OPT_ERTM;
#if BT_CLASSIC_BQB_INCLUDED
if (l2cap_bqb_ertm_mode_included_flag) {
p_ccb->ertm_info.preferred_mode = L2CAP_FCR_ERTM_MODE;
p_ccb->ertm_info.allowed_modes = L2CAP_FCR_CHAN_OPT_ERTM;
} else
#endif /* BT_CLASSIC_BQB_INCLUDED */
{
p_ccb->ertm_info.preferred_mode = L2CAP_FCR_BASIC_MODE; /* Default mode for channel is basic mode */
p_ccb->ertm_info.allowed_modes = L2CAP_FCR_CHAN_OPT_BASIC|L2CAP_FCR_CHAN_OPT_ERTM;
}
p_ccb->ertm_info.fcr_rx_buf_size = L2CAP_FCR_RX_BUF_SIZE;
p_ccb->ertm_info.fcr_tx_buf_size = L2CAP_FCR_TX_BUF_SIZE;
p_ccb->ertm_info.user_rx_buf_size = L2CAP_USER_RX_BUF_SIZE;