summaryrefslogtreecommitdiff
path: root/cesar/ce/rx/cp/src/cp.c
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/ce/rx/cp/src/cp.c')
-rw-r--r--cesar/ce/rx/cp/src/cp.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/cesar/ce/rx/cp/src/cp.c b/cesar/ce/rx/cp/src/cp.c
index 0adabdadcf..bdf09718ce 100644
--- a/cesar/ce/rx/cp/src/cp.c
+++ b/cesar/ce/rx/cp/src/cp.c
@@ -112,6 +112,30 @@ ce_rx_cp_send_mme_refresh_tmi_list (ce_rx_t *ce_rx, sta_t *peer)
}
void
+ce_rx_cp_send_mme_restart_initial_ce (ce_rx_t *ce_rx, sta_t *peer)
+{
+ /* Check parameters. */
+ dbg_assert (peer);
+ dbg_assert (ce_rx);
+ dbg_assert (ce_rx->cp_cb);
+ /* Sanity check: there should be no tone map enabled. */
+ dbg_assert (tonemaps_allocated_count (peer->rx_tonemaps) == 0);
+
+ CE_RX_TRACE (SEND_RESTART_CE, peer->tei);
+
+ /* Create a new work. */
+ ce_rx_cp_mbox_t *work =
+ ce_rx_cp_mbox_node_restart_ce (ce_rx, peer->tei, peer->rx_tonemaps);
+ /* Add it to the list. */
+ mbox_put (&ce_rx->cp_mbox, &work->mbox_node);
+ /* Post a flag for the CP. */
+ ce_rx->cp_cb (ce_rx->cp_ctx);
+
+ /* Disable expiration timer. */
+ peer->rx_tonemaps->refresh_counter_s = 0;
+}
+
+void
ce_rx_cp_run_work (cp_t *ctx)
{
/* Check parameter. */