Bluetooth: controller: split: Add function to reset conn upd mutex
Add a function to reset the variable holding the connection context of the currently active Connection Parameter Request Procedure. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
parent
da95c08977
commit
0b6664fc3d
2 changed files with 14 additions and 7 deletions
|
@ -48,6 +48,8 @@
|
|||
#include "ull_vendor.h"
|
||||
#endif /* CONFIG_BT_CTLR_USER_EXT */
|
||||
|
||||
inline void ull_conn_upd_curr_reset(void);
|
||||
|
||||
static int init_reset(void);
|
||||
|
||||
#if defined(CONFIG_BT_PERIPHERAL)
|
||||
|
@ -644,7 +646,7 @@ int ull_conn_reset(void)
|
|||
MFIFO_INIT(conn_ack);
|
||||
|
||||
/* Reset the current conn update conn context pointer */
|
||||
conn_upd_curr = NULL;
|
||||
ull_conn_upd_curr_reset();
|
||||
|
||||
err = init_reset();
|
||||
if (err) {
|
||||
|
@ -1580,6 +1582,11 @@ uint16_t ull_conn_lll_max_tx_octets_get(struct lll_conn *lll)
|
|||
return max_tx_octets;
|
||||
}
|
||||
|
||||
inline void ull_conn_upd_curr_reset(void)
|
||||
{
|
||||
conn_upd_curr = NULL;
|
||||
}
|
||||
|
||||
static int init_reset(void)
|
||||
{
|
||||
/* Initialize conn pool. */
|
||||
|
@ -2144,7 +2151,6 @@ static inline int event_conn_upd_prep(struct ll_conn *conn, uint16_t lazy,
|
|||
uint16_t instant_latency;
|
||||
uint16_t event_counter;
|
||||
|
||||
|
||||
conn_upd = conn_upd_curr;
|
||||
|
||||
/* set mutex */
|
||||
|
@ -2239,7 +2245,7 @@ static inline int event_conn_upd_prep(struct ll_conn *conn, uint16_t lazy,
|
|||
|
||||
/* reset mutex */
|
||||
if (conn_upd_curr == conn) {
|
||||
conn_upd_curr = NULL;
|
||||
ull_conn_upd_curr_reset();
|
||||
}
|
||||
|
||||
lll = &conn->lll;
|
||||
|
@ -2980,7 +2986,7 @@ static inline void event_conn_param_rsp(struct ll_conn *conn)
|
|||
conn->llcp_conn_param.ack = conn->llcp_conn_param.req;
|
||||
|
||||
/* reset mutex */
|
||||
conn_upd_curr = NULL;
|
||||
ull_conn_upd_curr_reset();
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -3054,7 +3060,7 @@ static inline void event_conn_param_rsp(struct ll_conn *conn)
|
|||
conn->llcp_conn_param.ack = conn->llcp_conn_param.req;
|
||||
|
||||
/* reset mutex */
|
||||
conn_upd_curr = NULL;
|
||||
ull_conn_upd_curr_reset();
|
||||
}
|
||||
|
||||
static inline void event_conn_param_app_req(struct ll_conn *conn)
|
||||
|
@ -4295,7 +4301,7 @@ static inline int reject_ind_conn_upd_recv(struct ll_conn *conn,
|
|||
LL_ASSERT(conn_upd_curr == conn);
|
||||
|
||||
/* reset mutex */
|
||||
conn_upd_curr = NULL;
|
||||
ull_conn_upd_curr_reset();
|
||||
|
||||
/* Procedure complete */
|
||||
conn->llcp_conn_param.ack = conn->llcp_conn_param.req;
|
||||
|
@ -5912,7 +5918,7 @@ static inline int ctrl_rx(memq_link_t *link, struct node_rx_pdu **rx,
|
|||
LL_ASSERT(conn_upd_curr == conn);
|
||||
|
||||
/* reset mutex */
|
||||
conn_upd_curr = NULL;
|
||||
ull_conn_upd_curr_reset();
|
||||
|
||||
/* Procedure complete */
|
||||
conn->llcp_conn_param.ack = conn->llcp_conn_param.req;
|
||||
|
|
|
@ -84,3 +84,4 @@ void *ull_conn_ack_dequeue(void);
|
|||
struct ll_conn *ull_conn_tx_ack(uint16_t handle, memq_link_t *link,
|
||||
struct node_tx *tx);
|
||||
uint8_t ull_conn_llcp_req(void *conn);
|
||||
void ull_conn_upd_curr_reset(void);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue