Formula for extended advertising interval set by kernel for Bcast: interval = (qos->bcast.out.interval / 1250) * qos->bcast.sync_factor; sync_interval = interval * 4; According to CORE SPECIFICATION Version 5.4 | Vol 4, Part E page 2451, the extended advertising interval should be at least 0x20 (32). Thus, interval should be at least 8. If qos->bcast.out.interval = 7500, it follows that the sync_factor should be at least 2. --- profiles/audio/bap.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/profiles/audio/bap.c b/profiles/audio/bap.c index 53f430d66..ad722ebb0 100644 --- a/profiles/audio/bap.c +++ b/profiles/audio/bap.c @@ -871,7 +871,10 @@ static struct bap_setup *setup_new(struct bap_ep *ep) /* Mark BIG and BIS to be auto assigned */ setup->qos.bcast.big = BT_ISO_QOS_BIG_UNSET; setup->qos.bcast.bis = BT_ISO_QOS_BIS_UNSET; - setup->qos.bcast.sync_factor = 0x01; + /* sync_factor should be >=2 to avoid invalid extended + * advertising interval value + */ + setup->qos.bcast.sync_factor = 0x02; setup->qos.bcast.sync_timeout = BT_ISO_SYNC_TIMEOUT; setup->qos.bcast.timeout = BT_ISO_SYNC_TIMEOUT; setup->qos_parser = setup_parse_bcast_qos; -- 2.40.1