diff --git a/subsys/bluetooth/controller/ll_sw/ll_feat.c b/subsys/bluetooth/controller/ll_sw/ll_feat.c index a1aaa99ba6d..d2ba2fefba0 100644 --- a/subsys/bluetooth/controller/ll_sw/ll_feat.c +++ b/subsys/bluetooth/controller/ll_sw/ll_feat.c @@ -70,6 +70,11 @@ uint8_t ll_set_host_feature(uint8_t bit_number, uint8_t bit_value) return BT_HCI_ERR_SUCCESS; } +void ll_feat_reset(void) +{ + host_features = 0U; +} + uint64_t ll_feat_get(void) { return LL_FEAT | (host_features & LL_FEAT_HOST_BIT_MASK); diff --git a/subsys/bluetooth/controller/ll_sw/ll_feat_internal.h b/subsys/bluetooth/controller/ll_sw/ll_feat_internal.h new file mode 100644 index 00000000000..7c23cb1a4e5 --- /dev/null +++ b/subsys/bluetooth/controller/ll_sw/ll_feat_internal.h @@ -0,0 +1,7 @@ +/* + * Copyright (c) 2023 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +void ll_feat_reset(void); diff --git a/subsys/bluetooth/controller/ll_sw/ull.c b/subsys/bluetooth/controller/ll_sw/ull.c index 3f60290dba3..916b21cee31 100644 --- a/subsys/bluetooth/controller/ll_sw/ull.c +++ b/subsys/bluetooth/controller/ll_sw/ull.c @@ -44,6 +44,7 @@ #include "lll_sync_iso.h" #include "lll_iso_tx.h" #include "lll_conn.h" +#include "lll_conn_iso.h" #include "lll_df.h" #include "ull_adv_types.h" @@ -60,6 +61,7 @@ #endif /* CONFIG_BT_CTLR_USER_EXT */ #include "isoal.h" +#include "ll_feat_internal.h" #include "ull_internal.h" #include "ull_iso_internal.h" #include "ull_adv_internal.h" @@ -69,7 +71,6 @@ #include "ull_central_internal.h" #include "ull_iso_types.h" #include "ull_conn_internal.h" -#include "lll_conn_iso.h" #include "ull_conn_iso_types.h" #include "ull_central_iso_internal.h" #include "ull_llcp.h" @@ -899,6 +900,10 @@ void ll_reset(void) LL_ASSERT(!err); #endif +#if defined(CONFIG_BT_CTLR_SET_HOST_FEATURE) + ll_feat_reset(); +#endif /* CONFIG_BT_CTLR_SET_HOST_FEATURE */ + /* clear static random address */ (void)ll_addr_set(1U, NULL); }