diff --git a/subsys/bluetooth/controller/ll_sw/ull_conn_types.h b/subsys/bluetooth/controller/ll_sw/ull_conn_types.h index 15962eebdd1..9a6fb35112d 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_conn_types.h +++ b/subsys/bluetooth/controller/ll_sw/ull_conn_types.h @@ -358,12 +358,14 @@ struct llcp_struct { struct { sys_slist_t pend_proc_list; uint8_t state; + uint8_t pause; } local; /* Remote Request */ struct { sys_slist_t pend_proc_list; uint8_t state; + uint8_t pause; uint8_t collision; uint8_t incompat; uint8_t reject_opcode; diff --git a/subsys/bluetooth/controller/ll_sw/ull_llcp.c b/subsys/bluetooth/controller/ll_sw/ull_llcp.c index 1cf331943ed..4e0fb27fa2e 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_llcp.c +++ b/subsys/bluetooth/controller/ll_sw/ull_llcp.c @@ -274,7 +274,6 @@ static struct proc_ctx *create_procedure(enum llcp_proc proc, struct llcp_mem_po ctx->proc = proc; ctx->collision = 0U; - ctx->pause = 0U; ctx->done = 0U; /* Clear procedure data */ @@ -453,10 +452,12 @@ void ull_llcp_init(struct ll_conn *conn) /* Reset local request fsm */ llcp_lr_init(conn); sys_slist_init(&conn->llcp.local.pend_proc_list); + conn->llcp.local.pause = 0U; /* Reset remote request fsm */ llcp_rr_init(conn); sys_slist_init(&conn->llcp.remote.pend_proc_list); + conn->llcp.remote.pause = 0U; conn->llcp.remote.incompat = INCOMPAT_NO_COLLISION; conn->llcp.remote.collision = 0U; #if defined(CONFIG_BT_CTLR_DF_CONN_CTE_RSP) @@ -1248,7 +1249,6 @@ void test_int_create_proc(void) zassert_equal(ctx->proc, PROC_VERSION_EXCHANGE, NULL); zassert_equal(ctx->collision, 0, NULL); - zassert_equal(ctx->pause, 0, NULL); for (int i = 0U; i < CONFIG_BT_CTLR_LLCP_LOCAL_PROC_CTX_BUF_NUM; i++) { zassert_not_null(ctx, NULL); @@ -1258,4 +1258,20 @@ void test_int_create_proc(void) zassert_is_null(ctx, NULL); } +void test_int_llcp_init(void) +{ + struct ll_conn conn; + + ull_cp_init(); + + ull_llcp_init(&conn); + + memset(&conn.llcp, 0xAA, sizeof(conn.llcp)); + + ull_llcp_init(&conn); + + zassert_equal(conn.llcp.local.pause, 0, NULL); + zassert_equal(conn.llcp.remote.pause, 0, NULL); +} + #endif diff --git a/subsys/bluetooth/controller/ll_sw/ull_llcp_chmu.c b/subsys/bluetooth/controller/ll_sw/ull_llcp_chmu.c index d64a20dc43c..f0be644385a 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_llcp_chmu.c +++ b/subsys/bluetooth/controller/ll_sw/ull_llcp_chmu.c @@ -104,7 +104,8 @@ static void lp_chmu_complete(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t static void lp_chmu_send_channel_map_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) { - if (ctx->pause || llcp_rr_get_collision(conn) || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_lr_ispaused(conn) || llcp_rr_get_collision(conn) || + !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = LP_CHMU_STATE_WAIT_TX_CHAN_MAP_IND; } else { llcp_rr_set_incompat(conn, INCOMPAT_RESOLVABLE); diff --git a/subsys/bluetooth/controller/ll_sw/ull_llcp_common.c b/subsys/bluetooth/controller/ll_sw/ull_llcp_common.c index e75f9ecb431..18b073cfd53 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_llcp_common.c +++ b/subsys/bluetooth/controller/ll_sw/ull_llcp_common.c @@ -414,7 +414,7 @@ static void lp_comm_send_req(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t switch (ctx->proc) { #if defined(CONFIG_BT_CTLR_LE_PING) case PROC_LE_PING: - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_lr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = LP_COMMON_STATE_WAIT_TX; } else { lp_comm_tx(conn, ctx); @@ -423,7 +423,7 @@ static void lp_comm_send_req(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t break; #endif /* CONFIG_BT_CTLR_LE_PING */ case PROC_FEATURE_EXCHANGE: - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_lr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = LP_COMMON_STATE_WAIT_TX; } else { lp_comm_tx(conn, ctx); @@ -433,7 +433,7 @@ static void lp_comm_send_req(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t break; #if defined(CONFIG_BT_CTLR_MIN_USED_CHAN) && defined(CONFIG_BT_PERIPHERAL) case PROC_MIN_USED_CHANS: - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_lr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = LP_COMMON_STATE_WAIT_TX; } else { lp_comm_tx(conn, ctx); @@ -446,7 +446,7 @@ static void lp_comm_send_req(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t * one LL_VERSION_IND PDU during a connection. */ if (!conn->llcp.vex.sent) { - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_lr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = LP_COMMON_STATE_WAIT_TX; } else { lp_comm_tx(conn, ctx); @@ -469,7 +469,7 @@ static void lp_comm_send_req(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t #if defined(CONFIG_BT_CTLR_DATA_LENGTH) case PROC_DATA_LENGTH_UPDATE: if (!ull_cp_remote_dle_pending(conn)) { - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_lr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = LP_COMMON_STATE_WAIT_TX; } else { /* Pause data tx, to ensure we can later (on RSP rx-ack) @@ -497,7 +497,7 @@ static void lp_comm_send_req(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t #else if (1) { #endif /* CONFIG_BT_CTLR_PHY */ - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx) || + if (llcp_lr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx) || (llcp_rr_get_paused_cmd(conn) == PROC_CTE_REQ)) { ctx->state = LP_COMMON_STATE_WAIT_TX; } else { @@ -529,7 +529,7 @@ static void lp_comm_st_idle(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t { switch (evt) { case LP_COMMON_EVT_RUN: - if (ctx->pause) { + if (llcp_lr_ispaused(conn)) { ctx->state = LP_COMMON_STATE_WAIT_TX; } else { lp_comm_send_req(conn, ctx, evt, param); @@ -910,7 +910,7 @@ static void rp_comm_send_rsp(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t #if defined(CONFIG_BT_CTLR_LE_PING) case PROC_LE_PING: /* Always respond on remote ping */ - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = RP_COMMON_STATE_WAIT_TX; } else { rp_comm_tx(conn, ctx); @@ -921,7 +921,7 @@ static void rp_comm_send_rsp(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t #endif /* CONFIG_BT_CTLR_LE_PING */ case PROC_FEATURE_EXCHANGE: /* Always respond on remote feature exchange */ - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = RP_COMMON_STATE_WAIT_TX; } else { rp_comm_tx(conn, ctx); @@ -938,7 +938,7 @@ static void rp_comm_send_rsp(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t * LL_VERSION_IND PDU to the peer device. */ if (!conn->llcp.vex.sent) { - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = RP_COMMON_STATE_WAIT_TX; } else { rp_comm_tx(conn, ctx); @@ -987,7 +987,7 @@ static void rp_comm_send_rsp(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t break; #if defined(CONFIG_BT_CTLR_DATA_LENGTH) case PROC_DATA_LENGTH_UPDATE: - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = RP_COMMON_STATE_WAIT_TX; } else { /* On RSP tx close the window for possible local req piggy-back */ @@ -1000,7 +1000,7 @@ static void rp_comm_send_rsp(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t #endif /* CONFIG_BT_CTLR_DATA_LENGTH */ #if defined(CONFIG_BT_CTLR_DF_CONN_CTE_RSP) case PROC_CTE_REQ: - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx) || + if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx) || (llcp_rr_get_paused_cmd(conn) == PROC_CTE_REQ)) { ctx->state = RP_COMMON_STATE_WAIT_TX; } else { diff --git a/subsys/bluetooth/controller/ll_sw/ull_llcp_conn_upd.c b/subsys/bluetooth/controller/ll_sw/ull_llcp_conn_upd.c index e0dad483b70..3ec285bafd4 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_llcp_conn_upd.c +++ b/subsys/bluetooth/controller/ll_sw/ull_llcp_conn_upd.c @@ -217,7 +217,8 @@ static void lp_cu_complete(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t e static void lp_cu_send_conn_param_req(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) { - if (ctx->pause || llcp_rr_get_collision(conn) || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_lr_ispaused(conn) || llcp_rr_get_collision(conn) || + !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = LP_CU_STATE_WAIT_TX_CONN_PARAM_REQ; } else { uint16_t event_counter = ull_conn_event_counter(conn); @@ -261,7 +262,7 @@ static void lp_cu_send_conn_param_req(struct ll_conn *conn, struct proc_ctx *ctx static void lp_cu_send_conn_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) { - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_lr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = LP_CU_STATE_WAIT_TX_CONN_UPDATE_IND; } else { ctx->data.cu.win_size = 1U; @@ -623,7 +624,7 @@ static void rp_cu_complete(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t e static void rp_cu_send_conn_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) { - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = RP_CU_STATE_WAIT_TX_CONN_UPDATE_IND; } else { ctx->data.cu.win_size = 1U; @@ -640,7 +641,7 @@ static void rp_cu_send_conn_update_ind(struct ll_conn *conn, struct proc_ctx *ct static void rp_cu_send_reject_ext_ind(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) { - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = RP_CU_STATE_WAIT_TX_REJECT_EXT_IND; } else { rp_cu_tx(conn, ctx, PDU_DATA_LLCTRL_TYPE_REJECT_EXT_IND); @@ -652,7 +653,7 @@ static void rp_cu_send_reject_ext_ind(struct ll_conn *conn, struct proc_ctx *ctx static void rp_cu_send_conn_param_rsp(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) { - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = RP_CU_STATE_WAIT_TX_CONN_PARAM_RSP; } else { rp_cu_tx(conn, ctx, PDU_DATA_LLCTRL_TYPE_CONN_PARAM_RSP); @@ -676,7 +677,7 @@ static void rp_cu_send_conn_param_req_ntf(struct ll_conn *conn, struct proc_ctx static void rp_cu_send_unknown_rsp(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) { - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = RP_CU_STATE_WAIT_TX_UNKNOWN_RSP; } else { rp_cu_tx(conn, ctx, PDU_DATA_LLCTRL_TYPE_UNKNOWN_RSP); diff --git a/subsys/bluetooth/controller/ll_sw/ull_llcp_internal.h b/subsys/bluetooth/controller/ll_sw/ull_llcp_internal.h index 29134343a5a..612e529cd66 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_llcp_internal.h +++ b/subsys/bluetooth/controller/ll_sw/ull_llcp_internal.h @@ -140,9 +140,6 @@ struct proc_ctx { /* Instant collision */ int collision; - /* Procedure pause */ - int pause; - #if defined(LLCP_TX_CTRL_BUF_QUEUE_ENABLE) /* Wait list next pointer */ sys_snode_t wait_node; @@ -441,6 +438,7 @@ void llcp_pdu_decode_terminate_ind(struct proc_ctx *ctx, struct pdu_data *pdu); * LLCP Local Request */ struct proc_ctx *llcp_lr_peek(struct ll_conn *conn); +bool llcp_lr_ispaused(struct ll_conn *conn); void llcp_lr_pause(struct ll_conn *conn); void llcp_lr_resume(struct ll_conn *conn); void llcp_lr_tx_ack(struct ll_conn *conn, struct proc_ctx *ctx, struct node_tx *tx); @@ -461,6 +459,7 @@ bool llcp_rr_get_collision(struct ll_conn *conn); void llcp_rr_set_paused_cmd(struct ll_conn *conn, enum llcp_proc); enum llcp_proc llcp_rr_get_paused_cmd(struct ll_conn *conn); struct proc_ctx *llcp_rr_peek(struct ll_conn *conn); +bool llcp_rr_ispaused(struct ll_conn *conn); void llcp_rr_pause(struct ll_conn *conn); void llcp_rr_resume(struct ll_conn *conn); void llcp_rr_tx_ack(struct ll_conn *conn, struct proc_ctx *ctx, struct node_tx *tx); diff --git a/subsys/bluetooth/controller/ll_sw/ull_llcp_local.c b/subsys/bluetooth/controller/ll_sw/ull_llcp_local.c index a90ba58bd07..3ab798104d4 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_llcp_local.c +++ b/subsys/bluetooth/controller/ll_sw/ull_llcp_local.c @@ -112,24 +112,19 @@ struct proc_ctx *llcp_lr_peek(struct ll_conn *conn) return ctx; } +bool llcp_lr_ispaused(struct ll_conn *conn) +{ + return conn->llcp.local.pause == 1U; +} + void llcp_lr_pause(struct ll_conn *conn) { - struct proc_ctx *ctx; - - ctx = (struct proc_ctx *)sys_slist_peek_head(&conn->llcp.local.pend_proc_list); - if (ctx) { - ctx->pause = 1; - } + conn->llcp.local.pause = 1U; } void llcp_lr_resume(struct ll_conn *conn) { - struct proc_ctx *ctx; - - ctx = (struct proc_ctx *)sys_slist_peek_head(&conn->llcp.local.pend_proc_list); - if (ctx) { - ctx->pause = 0; - } + conn->llcp.local.pause = 0U; } void llcp_lr_rx(struct ll_conn *conn, struct proc_ctx *ctx, struct node_rx_pdu *rx) diff --git a/subsys/bluetooth/controller/ll_sw/ull_llcp_phy.c b/subsys/bluetooth/controller/ll_sw/ull_llcp_phy.c index 61b94281864..77443e36686 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_llcp_phy.c +++ b/subsys/bluetooth/controller/ll_sw/ull_llcp_phy.c @@ -439,7 +439,8 @@ static void lp_pu_complete(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t e static void lp_pu_send_phy_req(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) { - if (ctx->pause || llcp_rr_get_collision(conn) || !llcp_tx_alloc_peek(conn, ctx) || + if (llcp_lr_ispaused(conn) || llcp_rr_get_collision(conn) || + !llcp_tx_alloc_peek(conn, ctx) || (llcp_rr_get_paused_cmd(conn) == PROC_PHY_UPDATE)) { ctx->state = LP_PU_STATE_WAIT_TX_PHY_REQ; } else { @@ -455,7 +456,7 @@ static void lp_pu_send_phy_req(struct ll_conn *conn, struct proc_ctx *ctx, uint8 static void lp_pu_send_phy_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) { - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_lr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { ctx->state = LP_PU_STATE_WAIT_TX_PHY_UPDATE_IND; } else { ctx->data.pu.instant = ull_conn_event_counter(conn) + PHY_UPDATE_INSTANT_DELTA; @@ -855,7 +856,7 @@ static void rp_pu_complete(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t e static void rp_pu_send_phy_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) { - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx) || + if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx) || (llcp_rr_get_paused_cmd(conn) == PROC_PHY_UPDATE)) { ctx->state = RP_PU_STATE_WAIT_TX_PHY_UPDATE_IND; } else { @@ -871,7 +872,7 @@ static void rp_pu_send_phy_update_ind(struct ll_conn *conn, struct proc_ctx *ctx #if defined(CONFIG_BT_PERIPHERAL) static void rp_pu_send_phy_rsp(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) { - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx) || + if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx) || (llcp_rr_get_paused_cmd(conn) == PROC_PHY_UPDATE)) { ctx->state = RP_PU_STATE_WAIT_TX_PHY_RSP; } else { diff --git a/subsys/bluetooth/controller/ll_sw/ull_llcp_remote.c b/subsys/bluetooth/controller/ll_sw/ull_llcp_remote.c index 08fd5d2c2de..122c0144f88 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_llcp_remote.c +++ b/subsys/bluetooth/controller/ll_sw/ull_llcp_remote.c @@ -177,24 +177,19 @@ struct proc_ctx *llcp_rr_peek(struct ll_conn *conn) return ctx; } +bool llcp_rr_ispaused(struct ll_conn *conn) +{ + return conn->llcp.remote.pause == 1U; +} + void llcp_rr_pause(struct ll_conn *conn) { - struct proc_ctx *ctx; - - ctx = (struct proc_ctx *)sys_slist_peek_head(&conn->llcp.remote.pend_proc_list); - if (ctx) { - ctx->pause = 1; - } + conn->llcp.remote.pause = 1U; } void llcp_rr_resume(struct ll_conn *conn) { - struct proc_ctx *ctx; - - ctx = (struct proc_ctx *)sys_slist_peek_head(&conn->llcp.remote.pend_proc_list); - if (ctx) { - ctx->pause = 0; - } + conn->llcp.remote.pause = 0U; } @@ -389,7 +384,7 @@ static void rr_act_reject(struct ll_conn *conn) LL_ASSERT(ctx != NULL); - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { rr_set_state(conn, RR_STATE_REJECT); } else { rr_tx(conn, ctx, PDU_DATA_LLCTRL_TYPE_REJECT_IND); @@ -405,7 +400,7 @@ static void rr_act_unsupported(struct ll_conn *conn) LL_ASSERT(ctx != NULL); - if (ctx->pause || !llcp_tx_alloc_peek(conn, ctx)) { + if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { rr_set_state(conn, RR_STATE_UNSUPPORTED); } else { rr_tx(conn, ctx, PDU_DATA_LLCTRL_TYPE_UNKNOWN_RSP); diff --git a/tests/bluetooth/controller/ctrl_api/src/main.c b/tests/bluetooth/controller/ctrl_api/src/main.c index 460dacbd519..32c392725be 100644 --- a/tests/bluetooth/controller/ctrl_api/src/main.c +++ b/tests/bluetooth/controller/ctrl_api/src/main.c @@ -56,6 +56,7 @@ void test_api_init(void) extern void test_int_mem_proc_ctx(void); extern void test_int_mem_tx(void); extern void test_int_create_proc(void); +extern void test_int_llcp_init(void); extern void test_int_local_pending_requests(void); extern void test_int_remote_pending_requests(void); @@ -197,8 +198,11 @@ void test_int_disconnect_rem(void) void test_main(void) { - ztest_test_suite(internal, ztest_unit_test(test_int_mem_proc_ctx), - ztest_unit_test(test_int_mem_tx), ztest_unit_test(test_int_create_proc), + ztest_test_suite(internal, + ztest_unit_test(test_int_mem_proc_ctx), + ztest_unit_test(test_int_mem_tx), + ztest_unit_test(test_int_create_proc), + ztest_unit_test(test_int_llcp_init), ztest_unit_test(test_int_local_pending_requests), ztest_unit_test(test_int_remote_pending_requests), ztest_unit_test(test_int_disconnect_loc),