fix ag example outgoing callback not triggered

Closes https://github.com/espressif/esp-idf/issues/4967
This commit is contained in:
liqigan
2020-10-13 12:02:17 +08:00
parent 3d8f16e05d
commit 783c5ecee2
9 changed files with 40 additions and 18 deletions

View File

@@ -441,6 +441,9 @@ tBTM_STATUS BTM_WriteScoData (UINT16 sco_inx, BT_HDR *p_buf)
p_buf->len += HCI_SCO_PREAMBLE_SIZE;
if (fixed_queue_length(p_ccb->xmit_data_q) < BTM_SCO_XMIT_QUEUE_THRS) {
if (fixed_queue_length(p_ccb->xmit_data_q) >= BTM_SCO_XMIT_QUEUE_HIGH_WM) {
status = BTM_NO_RESOURCES;
}
fixed_queue_enqueue(p_ccb->xmit_data_q, p_buf, FIXED_QUEUE_MAX_TIMEOUT);
btm_sco_check_send_pkts (sco_inx);
} else {
@@ -454,7 +457,7 @@ tBTM_STATUS BTM_WriteScoData (UINT16 sco_inx, BT_HDR *p_buf)
status = BTM_UNKNOWN_ADDR;
}
if (status != BTM_SUCCESS) {
if (status != BTM_SUCCESS && status!= BTM_NO_RESOURCES) {
BTM_TRACE_WARNING ("stat %d", status);
osi_free(p_buf);
}

View File

@@ -389,7 +389,8 @@ typedef struct {
typedef struct {
tBTM_ESCO_INFO esco; /* Current settings */
#if BTM_SCO_HCI_INCLUDED == TRUE
#define BTM_SCO_XMIT_QUEUE_THRS 20
#define BTM_SCO_XMIT_QUEUE_THRS 30
#define BTM_SCO_XMIT_QUEUE_HIGH_WM 20
fixed_queue_t *xmit_data_q; /* SCO data transmitting queue */
INT16 sent_not_acked;
#endif