Răsfoiți Sursa

Merge branch 'bugfix/l2cap_link_timeout_llcp_prog_btu_wtd' into 'master'

Bugfix/l2cap link timeout llcp prog btu wtd

Closes BT-941 and BT-973

See merge request espressif/esp-idf!10119
Jiang Jiang Jian 5 ani în urmă
părinte
comite
472c40f84e

+ 1 - 1
components/bt/host/bluedroid/stack/l2cap/include/l2c_int.h

@@ -51,7 +51,7 @@
 #define L2CAP_LINK_CONNECT_TOUT_EXT  120          /* 120 seconds */
 #define L2CAP_ECHO_RSP_TOUT          30           /* 30 seconds */
 #define L2CAP_LINK_FLOW_CONTROL_TOUT 2            /* 2  seconds */
-#define L2CAP_LINK_DISCONNECT_TOUT   30           /* 30 seconds */
+#define L2CAP_LINK_DISCONNECT_TOUT   45           /* 45 seconds */
 
 #ifndef L2CAP_CHNL_CONNECT_TOUT      /* BTIF needs to override for internal project needs */
 #define L2CAP_CHNL_CONNECT_TOUT      60           /* 60 seconds */

+ 3 - 3
components/bt/host/bluedroid/stack/l2cap/l2c_link.c

@@ -1120,10 +1120,10 @@ void l2c_link_check_send_pkts (tL2C_LCB *p_lcb, tL2C_CCB *p_ccb, BT_HDR *p_buf)
 #if (BLE_INCLUDED == TRUE)
         while ( ((l2cb.controller_xmit_window != 0 && (p_lcb->transport == BT_TRANSPORT_BR_EDR)) ||
                  (l2cb.controller_le_xmit_window != 0 && (p_lcb->transport == BT_TRANSPORT_LE)))
-                && (p_lcb->sent_not_acked <= p_lcb->link_xmit_quota))
+                && (p_lcb->sent_not_acked < p_lcb->link_xmit_quota))
 #else
         while ( (l2cb.controller_xmit_window != 0)
-                && (p_lcb->sent_not_acked <= p_lcb->link_xmit_quota))
+                && (p_lcb->sent_not_acked < p_lcb->link_xmit_quota))
 #endif
         {
             if (list_is_empty(p_lcb->link_xmit_data_q)) {
@@ -1142,7 +1142,7 @@ void l2c_link_check_send_pkts (tL2C_LCB *p_lcb, tL2C_CCB *p_ccb, BT_HDR *p_buf)
 #if (BLE_INCLUDED == TRUE)
             while ( ((l2cb.controller_xmit_window != 0 && (p_lcb->transport == BT_TRANSPORT_BR_EDR)) ||
                      (l2cb.controller_le_xmit_window != 0 && (p_lcb->transport == BT_TRANSPORT_LE)))
-                    && (p_lcb->sent_not_acked <= p_lcb->link_xmit_quota))
+                    && (p_lcb->sent_not_acked < p_lcb->link_xmit_quota))
 #else
             while ((l2cb.controller_xmit_window != 0) && (p_lcb->sent_not_acked < p_lcb->link_xmit_quota))
 #endif