PB-ADV always used for provisioning, so must always be cleaned up. --- mesh/prov-acceptor.c | 5 +---- mesh/prov-initiator.c | 2 ++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/mesh/prov-acceptor.c b/mesh/prov-acceptor.c index d983991d4..3d4d93ba4 100644 --- a/mesh/prov-acceptor.c +++ b/mesh/prov-acceptor.c @@ -126,10 +126,7 @@ static void acceptor_free(void) mesh_send_cancel(bec_filter, sizeof(bec_filter)); mesh_send_cancel(&pkt_filter, sizeof(pkt_filter)); - if (prov->trans_tx) { - if (prov->transport == PB_ADV) - pb_adv_unreg(prov->trans_data); - } + pb_adv_unreg(prov); l_free(prov); prov = NULL; diff --git a/mesh/prov-initiator.c b/mesh/prov-initiator.c index 669cf340d..d915f2aaf 100644 --- a/mesh/prov-initiator.c +++ b/mesh/prov-initiator.c @@ -122,6 +122,8 @@ static void initiator_free(void) mesh_send_cancel(&pkt_filter, sizeof(pkt_filter)); + pb_adv_unreg(prov); + l_free(prov); prov = NULL; } -- 2.20.1