xiongweichao 4 лет назад
Родитель
Сommit
8a45db1a7a

+ 3 - 17
components/bt/host/bluedroid/hci/hci_hal_h4.c

@@ -177,30 +177,16 @@ bool hci_hal_h4_task_post(uint32_t timeout)
 
 
 #if (C2H_FLOW_CONTROL_INCLUDED == TRUE)
 #if (C2H_FLOW_CONTROL_INCLUDED == TRUE)
 static void hci_packet_complete(BT_HDR *packet){
 static void hci_packet_complete(BT_HDR *packet){
-    uint8_t type, num_handle;
+    uint8_t type;
     uint16_t handle;
     uint16_t handle;
-    uint16_t handles[MAX_L2CAP_LINKS + 4];
-    uint16_t num_packets[MAX_L2CAP_LINKS + 4];
+    uint16_t num_packets = 1;
     uint8_t *stream = packet->data + packet->offset;
     uint8_t *stream = packet->data + packet->offset;
-    tL2C_LCB  *p_lcb = NULL;
 
 
     STREAM_TO_UINT8(type, stream);
     STREAM_TO_UINT8(type, stream);
     if (type == DATA_TYPE_ACL/* || type == DATA_TYPE_SCO*/) {
     if (type == DATA_TYPE_ACL/* || type == DATA_TYPE_SCO*/) {
         STREAM_TO_UINT16(handle, stream);
         STREAM_TO_UINT16(handle, stream);
         handle = handle & HCI_DATA_HANDLE_MASK;
         handle = handle & HCI_DATA_HANDLE_MASK;
-        p_lcb = l2cu_find_lcb_by_handle(handle);
-        if (p_lcb) {
-            p_lcb->completed_packets++;
-        }
-        if (esp_vhci_host_check_send_available()){
-            num_handle = l2cu_find_completed_packets(handles, num_packets);
-            if (num_handle > 0){
-                btsnd_hcic_host_num_xmitted_pkts (num_handle, handles, num_packets);
-            }
-        } else {
-            //Send HCI_Host_Number_of_Completed_Packets next time.
-        }
-
+        btsnd_hcic_host_num_xmitted_pkts(1, &handle, &num_packets);
     }
     }
 }
 }
 #endif ///C2H_FLOW_CONTROL_INCLUDED == TRUE
 #endif ///C2H_FLOW_CONTROL_INCLUDED == TRUE

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

@@ -381,7 +381,6 @@ typedef struct t_l2c_linkcb {
 
 
     TIMER_LIST_ENT      timer_entry;                /* Timer list entry for timeout evt */
     TIMER_LIST_ENT      timer_entry;                /* Timer list entry for timeout evt */
     UINT16              handle;                     /* The handle used with LM          */
     UINT16              handle;                     /* The handle used with LM          */
-    UINT16              completed_packets;          /* The number of conpleted packets  */
 
 
     tL2C_CCB_Q          ccb_queue;                  /* Queue of CCBs on this LCB        */
     tL2C_CCB_Q          ccb_queue;                  /* Queue of CCBs on this LCB        */
 
 
@@ -673,10 +672,6 @@ extern void l2cu_send_peer_ble_credit_based_disconn_req(tL2C_CCB *p_ccb);
 
 
 #endif
 #endif
 
 
-#if (C2H_FLOW_CONTROL_INCLUDED == TRUE)
-extern UINT8 l2cu_find_completed_packets(UINT16 *handles, UINT16 *num_packets);
-#endif ///C2H_FLOW_CONTROL_INCLUDED == TRUE
-
 extern BOOLEAN l2cu_initialize_fixed_ccb (tL2C_LCB *p_lcb, UINT16 fixed_cid, tL2CAP_FCR_OPTS *p_fcr);
 extern BOOLEAN l2cu_initialize_fixed_ccb (tL2C_LCB *p_lcb, UINT16 fixed_cid, tL2CAP_FCR_OPTS *p_fcr);
 extern void    l2cu_no_dynamic_ccbs (tL2C_LCB *p_lcb);
 extern void    l2cu_no_dynamic_ccbs (tL2C_LCB *p_lcb);
 extern void    l2cu_process_fixed_chnl_resp (tL2C_LCB *p_lcb);
 extern void    l2cu_process_fixed_chnl_resp (tL2C_LCB *p_lcb);

+ 0 - 38
components/bt/host/bluedroid/stack/l2cap/l2c_utils.c

@@ -96,9 +96,6 @@ tL2C_LCB *l2cu_allocate_lcb (BD_ADDR p_bd_addr, BOOLEAN is_bonding, tBT_TRANSPOR
                 l2c_link_adjust_allocation();
                 l2c_link_adjust_allocation();
             }
             }
             p_lcb->link_xmit_data_q = list_new(NULL);
             p_lcb->link_xmit_data_q = list_new(NULL);
-#if (C2H_FLOW_CONTROL_INCLUDED == TRUE)
-            p_lcb->completed_packets = 0;
-#endif ///C2H_FLOW_CONTROL_INCLUDED == TRUE
             return (p_lcb);
             return (p_lcb);
         }
         }
     }
     }
@@ -269,11 +266,6 @@ void l2cu_release_lcb (tL2C_LCB *p_lcb)
         p_lcb->le_sec_pending_q = NULL;
         p_lcb->le_sec_pending_q = NULL;
     }
     }
 #endif  ///BLE_INCLUDED == TRUE
 #endif  ///BLE_INCLUDED == TRUE
-
-#if (C2H_FLOW_CONTROL_INCLUDED == TRUE)
-    p_lcb->completed_packets = 0;
-#endif ///C2H_FLOW_CONTROL_INCLUDED == TRUE
-
 }
 }
 
 
 
 
@@ -3176,36 +3168,6 @@ void l2cu_send_peer_ble_credit_based_disconn_req(tL2C_CCB *p_ccb)
 
 
 #endif /* BLE_INCLUDED == TRUE */
 #endif /* BLE_INCLUDED == TRUE */
 
 
-#if (C2H_FLOW_CONTROL_INCLUDED == TRUE)
-/*******************************************************************************
-**
-** Function         l2cu_find_completed_packets
-**
-** Description      Find the completed packets,
-**                  Then set it to zero
-**
-** Returns          The num of handles
-**
-*******************************************************************************/
-UINT8 l2cu_find_completed_packets(UINT16 *handles, UINT16 *num_packets)
-{
-    int         xx;
-    UINT8       num = 0;
-    tL2C_LCB    *p_lcb = &l2cb.lcb_pool[0];
-
-    for (xx = 0; xx < MAX_L2CAP_LINKS; xx++, p_lcb++) {
-        if ((p_lcb->in_use) && (p_lcb->completed_packets > 0)) {
-            *(handles++) = p_lcb->handle;
-            *(num_packets++) = p_lcb->completed_packets;
-            num++;
-            p_lcb->completed_packets = 0;
-        }
-    }
-
-    return num;
-}
-#endif ///C2H_FLOW_CONTROL_INCLUDED == TRUE
-
 /*******************************************************************************
 /*******************************************************************************
 ** Functions used by both Full and Light Stack
 ** Functions used by both Full and Light Stack
 ********************************************************************************/
 ********************************************************************************/