Преглед изворни кода

components/bt: Fix waking up fail while sleeping

baohongde пре 5 година
родитељ
комит
9b274cc989
1 измењених фајлова са 3 додато и 9 уклоњено
  1. 3 9
      components/bt/controller/bt.c

+ 3 - 9
components/bt/controller/bt.c

@@ -929,19 +929,15 @@ static void btdm_wakeup_request_callback(void * arg)
 
 static bool async_wakeup_request(int event)
 {
-    bool request_lock = false;
     bool do_wakeup_request = false;
 
     switch (event) {
         case BTDM_ASYNC_WAKEUP_REQ_HCI:
-            request_lock = true;
+            btdm_in_wakeup_requesting_set(true);
             // NO break
         case BTDM_ASYNC_WAKEUP_REQ_CTRL_DISA:
             if (!btdm_power_state_active()) {
                 do_wakeup_request = true;
-                if (request_lock) {
-                    btdm_in_wakeup_requesting_set(true);
-                }
 
                 btdm_dispatch_work_to_controller(btdm_wakeup_request_callback, NULL, true);
                 semphr_take_wrapper(s_wakeup_req_sem, OSI_FUNCS_TIME_BLOCKING);
@@ -1007,13 +1003,11 @@ bool esp_vhci_host_check_send_available(void)
 
 void esp_vhci_host_send_packet(uint8_t *data, uint16_t len)
 {
-    bool do_wakeup_request = async_wakeup_request(BTDM_ASYNC_WAKEUP_REQ_HCI);
+    async_wakeup_request(BTDM_ASYNC_WAKEUP_REQ_HCI);
 
     API_vhci_host_send_packet(data, len);
 
-    if (do_wakeup_request) {
-        async_wakeup_request_end(BTDM_ASYNC_WAKEUP_REQ_HCI);
-    }
+    async_wakeup_request_end(BTDM_ASYNC_WAKEUP_REQ_HCI);
 }
 
 esp_err_t esp_vhci_host_register_callback(const esp_vhci_host_callback_t *callback)