From bc357718a7e889ed5935493955bd7f5359182d5b Mon Sep 17 00:00:00 2001 From: Vinayak Kariappa Chettimada Date: Thu, 26 Mar 2020 18:06:27 +0530 Subject: [PATCH] Bluetooth: controller: split: Fix slave latency during conn update Fix regression in cancelling slave latency during Connection Update Procedure. Slave latency should not be applied between the ack of a Connection Update Indication PDU and until the instant. When caching was introduced, implementation missed this consideration. Signed-off-by: Vinayak Kariappa Chettimada --- subsys/bluetooth/controller/ll_sw/ull_conn.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/subsys/bluetooth/controller/ll_sw/ull_conn.c b/subsys/bluetooth/controller/ll_sw/ull_conn.c index 689caba3b1b..1e68e999097 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_conn.c +++ b/subsys/bluetooth/controller/ll_sw/ull_conn.c @@ -1222,9 +1222,10 @@ void ull_conn_done(struct node_rx_event_done *done) #endif /* CONFIG_BT_CTLR_CONN_RSSI */ /* break latency based on ctrl procedure pending */ - if ((((conn->llcp_req - conn->llcp_ack) & 0x03) == 0x02) && - ((conn->llcp_type == LLCP_CONN_UPD) || - (conn->llcp_type == LLCP_CHAN_MAP))) { + if (((((conn->llcp_req - conn->llcp_ack) & 0x03) == 0x02) && + ((conn->llcp_type == LLCP_CONN_UPD) || + (conn->llcp_type == LLCP_CHAN_MAP))) || + (conn->llcp_cu.req != conn->llcp_cu.ack)) { lll->latency_event = 0; }