Quellcode durchsuchen

clear old event bits when malloc a slot

liqigan vor 4 Jahren
Ursprung
Commit
66e88fbdbe
1 geänderte Dateien mit 5 neuen und 0 gelöschten Zeilen
  1. 5 0
      components/bt/host/bluedroid/btc/profile/std/spp/btc_spp.c

+ 5 - 0
components/bt/host/bluedroid/btc/profile/std/spp/btc_spp.c

@@ -135,6 +135,11 @@ static spp_slot_t *spp_malloc_slot(void)
             (*slot)->is_server = false;
             (*slot)->write_data = NULL;
             (*slot)->close_alarm = NULL;
+            /* clear the old event bits */
+            if (spp_local_param.tx_event_group) {
+                xEventGroupClearBits(spp_local_param.tx_event_group, SLOT_WRITE_BIT(i) | SLOT_CLOSE_BIT(i));
+            }
+
             if (init_slot_data(&(*slot)->rx, QUEUE_SIZE_MAX)) {
                 BTC_TRACE_ERROR("%s unable to malloc rx queue!", __func__);
                 err_no = 1;