Bluetooth: Controller: Fix CIS accept fails with unsupp parameters

Fix CIS accepted by Host being failed in the Controller with
reason 0x20 Unsupported LL Parameter Value, by relaxing the
check that the ACL connection is sufficiently placed such
that the time reservation using in the Controller
implementation does not overlap with the CIG event.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
Vinayak Kariappa Chettimada 2023-06-13 08:28:41 +05:30 committed by Fabio Baltieri
commit d435acf28d
4 changed files with 15 additions and 1 deletions

View file

@ -536,6 +536,16 @@ config BT_CTLR_SCAN_ENABLE_STRICT
Enforce returning HCI Error Command Disallowed on enabling/disabling
already enabled/disabled scanning.
config BT_CTLR_CIS_ACCEPT_MIN_OFFSET_STRICT
bool "Enforce Strict CIS Minimum Offset Check"
depends on BT_CTLR_PERIPHERAL_ISO
help
Enforce strict check of CIS minimum offset accepted by the peripheral
considering that there will be no overlap of ACL connection with the
CIG events. Radio and CPU overheads for an ACL connection event is
considered and checks the CIS minimum offset is greater than the time
reservation for the ACL connection.
config BT_CTLR_ISOAL_SN_STRICT
bool "Enforce Strict Tx ISO Data Sequence Number use"
depends on !BT_CTLR_ISOAL_PSN_IGNORE && (BT_CTLR_ADV_ISO || \

View file

@ -104,7 +104,8 @@ uint8_t ll_cis_accept(uint16_t handle)
if (conn) {
uint32_t cis_offset_min;
if (IS_ENABLED(CONFIG_BT_CTLR_PERIPHERAL_ISO_EARLY_CIG_START)) {
if (IS_ENABLED(CONFIG_BT_CTLR_PERIPHERAL_ISO_EARLY_CIG_START) ||
!IS_ENABLED(CONFIG_BT_CTLR_CIS_ACCEPT_MIN_OFFSET_STRICT)) {
/* Early start allows offset down to spec defined minimum */
cis_offset_min = CIS_MIN_OFFSET_MIN;
} else {

View file

@ -39,6 +39,7 @@ CONFIG_BT_CTLR_ADV_RESERVE_MAX=n
CONFIG_BT_CTLR_ADV_ISO_RESERVE_MAX=n
CONFIG_BT_CTLR_SYNC_ISO_RESERVE_MAX=n
CONFIG_BT_CTLR_CENTRAL_RESERVE_MAX=n
CONFIG_BT_CTLR_CIS_ACCEPT_MIN_OFFSET_STRICT=y
CONFIG_BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX=n
CONFIG_BT_CTLR_PROFILE_ISR=y
CONFIG_BT_CTLR_DEBUG_PINS=y

View file

@ -21,6 +21,8 @@ CONFIG_BT_CTLR_LLL_PRIO=0
CONFIG_BT_CTLR_ULL_HIGH_PRIO=1
CONFIG_BT_CTLR_XTAL_ADVANCED=n
CONFIG_BT_CTLR_SCHED_ADVANCED=n
CONFIG_BT_CTLR_CIS_ACCEPT_MIN_OFFSET_STRICT=n
CONFIG_BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX=y
CONFIG_BT_CTLR_RADIO_ENABLE_FAST=y
CONFIG_BT_CTLR_TIFS_HW=n
CONFIG_BT_CTLR_TX_RETRY_DISABLE=y