From 81e2287d65ff87da61c9b389b8e57e1b2a42fddd Mon Sep 17 00:00:00 2001 From: Vinayak Kariappa Chettimada Date: Tue, 30 Dec 2025 20:56:31 -0500 Subject: [PATCH] Bluetooth: Controller: Fix peripheral role assertion on conn update Fix peripheral role assertion during connection update and simultaneous flash operations. prepare_cb: Actual EVENT_OVERHEAD_START_US = 6149 This happens due to instant latency at connection update where the ticks_at_expire was in the past. Signed-off-by: Vinayak Kariappa Chettimada --- subsys/bluetooth/controller/ll_sw/ull_conn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subsys/bluetooth/controller/ll_sw/ull_conn.c b/subsys/bluetooth/controller/ll_sw/ull_conn.c index 25fecab22a041..5a66468e2bb0b 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_conn.c +++ b/subsys/bluetooth/controller/ll_sw/ull_conn.c @@ -2338,7 +2338,7 @@ void ull_conn_update_parameters(struct ll_conn *conn, uint8_t is_cu_proc, uint8_ periodic_us = conn_interval_us; conn_interval_old_us = conn_interval_old * conn_interval_unit_old; - latency_upd = conn_interval_old_us / conn_interval_us; + latency_upd = DIV_ROUND_UP(conn_interval_old_us, conn_interval_us); conn_interval_new_us = latency_upd * conn_interval_us; if (conn_interval_new_us > conn_interval_old_us) { ticks_at_expire += HAL_TICKER_US_TO_TICKS(