From 774d5e871c309efbb88d9aa39c972e45dd718b41 Mon Sep 17 00:00:00 2001 From: Alexander Svensen Date: Wed, 8 May 2019 09:25:46 +0200 Subject: [PATCH] Bluetooth: controller: split: Fix Conn Param Req procedure stall issue Fix an issue wherein local or remote initiated Connection Parameter Request procedure would stall without generation of LE Connection Update Complete HCI event because a local or remote initiated PHY Update procedure has overwritten the currently active Link Layer Control Procedure type. Signed-off-by: Alexander Svensen --- subsys/bluetooth/controller/ll_sw/ull_conn.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/subsys/bluetooth/controller/ll_sw/ull_conn.c b/subsys/bluetooth/controller/ll_sw/ull_conn.c index d904a566214..02b71d76402 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_conn.c +++ b/subsys/bluetooth/controller/ll_sw/ull_conn.c @@ -2789,6 +2789,11 @@ static inline void event_phy_req_prep(struct ll_conn *conn) case LLCP_PHY_STATE_UPD: { + /* Defer if another procedure in progress */ + if (conn->llcp_ack != conn->llcp_req) { + return; + } + /* Procedure complete */ conn->llcp_phy.ack = conn->llcp_phy.req;