]> granicus.if.org Git - esp-idf/commitdiff
component/bt: Fix can't be connected if init SPP again after SPP deinit
authorbaohongde <baohongde@espressif.com>
Thu, 10 May 2018 08:16:25 +0000 (16:16 +0800)
committerbaohongde <baohongde@espressif.com>
Thu, 10 May 2018 08:16:25 +0000 (16:16 +0800)
components/bt/bluedroid/btc/profile/std/spp/btc_spp.c

index dcab978657159835fa8bfdebc17daf4c4ce52d53..c8b58d4d4b68a05bfd768b5c9ff8df2f4841d672 100644 (file)
@@ -353,6 +353,7 @@ static void btc_spp_uninit(void)
     }
     for (size_t i = 1; i <= BTA_JV_MAX_RFC_SR_SESSION; i++) {
         if (spp_local_param.spp_slots[i] != NULL && !(spp_local_param.spp_slots[i]->connected)) {
+            BTA_JvRfcommStopServer(spp_local_param.spp_slots[i]->sdp_handle, (void *)spp_local_param.spp_slots[i]->id);
             BTA_JvDeleteRecord(spp_local_param.spp_slots[i]->sdp_handle);
             BTA_JvFreeChannel(spp_local_param.spp_slots[i]->scn, BTA_JV_CONN_TYPE_RFCOMM);
             free_spp_slot(spp_local_param.spp_slots[i]);