From 66e88fbdbe0dc6edb4f99c6fc6a3e6f6eb726ca0 Mon Sep 17 00:00:00 2001 From: liqigan Date: Wed, 22 Dec 2021 16:44:51 +0800 Subject: [PATCH] clear old event bits when malloc a slot --- components/bt/host/bluedroid/btc/profile/std/spp/btc_spp.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/components/bt/host/bluedroid/btc/profile/std/spp/btc_spp.c b/components/bt/host/bluedroid/btc/profile/std/spp/btc_spp.c index ab54144d67..8a61c13c25 100644 --- a/components/bt/host/bluedroid/btc/profile/std/spp/btc_spp.c +++ b/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;