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"
|
#include "ull_vendor.h"
|
||||||
#endif /* CONFIG_BT_CTLR_USER_EXT */
|
#endif /* CONFIG_BT_CTLR_USER_EXT */
|
||||||
|
|
||||||
|
inline void ull_conn_upd_curr_reset(void);
|
||||||
|
|
||||||
static int init_reset(void);
|
static int init_reset(void);
|
||||||
|
|
||||||
#if defined(CONFIG_BT_PERIPHERAL)
|
#if defined(CONFIG_BT_PERIPHERAL)
|
||||||
|
@ -644,7 +646,7 @@ int ull_conn_reset(void)
|
||||||
MFIFO_INIT(conn_ack);
|
MFIFO_INIT(conn_ack);
|
||||||
|
|
||||||
/* Reset the current conn update conn context pointer */
|
/* Reset the current conn update conn context pointer */
|
||||||
conn_upd_curr = NULL;
|
ull_conn_upd_curr_reset();
|
||||||
|
|
||||||
err = init_reset();
|
err = init_reset();
|
||||||
if (err) {
|
if (err) {
|
||||||
|
@ -1580,6 +1582,11 @@ uint16_t ull_conn_lll_max_tx_octets_get(struct lll_conn *lll)
|
||||||
return max_tx_octets;
|
return max_tx_octets;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void ull_conn_upd_curr_reset(void)
|
||||||
|
{
|
||||||
|
conn_upd_curr = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static int init_reset(void)
|
static int init_reset(void)
|
||||||
{
|
{
|
||||||
/* Initialize conn pool. */
|
/* 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 instant_latency;
|
||||||
uint16_t event_counter;
|
uint16_t event_counter;
|
||||||
|
|
||||||
|
|
||||||
conn_upd = conn_upd_curr;
|
conn_upd = conn_upd_curr;
|
||||||
|
|
||||||
/* set mutex */
|
/* set mutex */
|
||||||
|
@ -2239,7 +2245,7 @@ static inline int event_conn_upd_prep(struct ll_conn *conn, uint16_t lazy,
|
||||||
|
|
||||||
/* reset mutex */
|
/* reset mutex */
|
||||||
if (conn_upd_curr == conn) {
|
if (conn_upd_curr == conn) {
|
||||||
conn_upd_curr = NULL;
|
ull_conn_upd_curr_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
lll = &conn->lll;
|
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;
|
conn->llcp_conn_param.ack = conn->llcp_conn_param.req;
|
||||||
|
|
||||||
/* reset mutex */
|
/* reset mutex */
|
||||||
conn_upd_curr = NULL;
|
ull_conn_upd_curr_reset();
|
||||||
|
|
||||||
return;
|
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;
|
conn->llcp_conn_param.ack = conn->llcp_conn_param.req;
|
||||||
|
|
||||||
/* reset mutex */
|
/* reset mutex */
|
||||||
conn_upd_curr = NULL;
|
ull_conn_upd_curr_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void event_conn_param_app_req(struct ll_conn *conn)
|
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);
|
LL_ASSERT(conn_upd_curr == conn);
|
||||||
|
|
||||||
/* reset mutex */
|
/* reset mutex */
|
||||||
conn_upd_curr = NULL;
|
ull_conn_upd_curr_reset();
|
||||||
|
|
||||||
/* Procedure complete */
|
/* Procedure complete */
|
||||||
conn->llcp_conn_param.ack = conn->llcp_conn_param.req;
|
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);
|
LL_ASSERT(conn_upd_curr == conn);
|
||||||
|
|
||||||
/* reset mutex */
|
/* reset mutex */
|
||||||
conn_upd_curr = NULL;
|
ull_conn_upd_curr_reset();
|
||||||
|
|
||||||
/* Procedure complete */
|
/* Procedure complete */
|
||||||
conn->llcp_conn_param.ack = conn->llcp_conn_param.req;
|
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 ll_conn *ull_conn_tx_ack(uint16_t handle, memq_link_t *link,
|
||||||
struct node_tx *tx);
|
struct node_tx *tx);
|
||||||
uint8_t ull_conn_llcp_req(void *conn);
|
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