HO: clearly mark conn penalty timer member for hodec2
The conn's penalty timers will be used only for handover decision 2, make it
clear by a sub-struct.
hodec2 will also initialize the penalty timer list on demand only, so no need
to always initialize.
Change-Id: Ie6c2bc2b10dc424dfd94a9e11a9a62f51c48aa10
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 65fb32b..bf87595 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -115,7 +115,9 @@
struct llist_head ho_dtap_cache;
unsigned int ho_dtap_cache_len;
- struct penalty_timers *ho_penalty_timers;
+ struct {
+ struct penalty_timers *penalty_timers;
+ } hodec2;
/* "Codec List (MSC Preferred)" as received by the BSSAP Assignment Request. 3GPP 48.008
* 3.2.2.103 says:
diff --git a/src/libbsc/bsc_api.c b/src/libbsc/bsc_api.c
index 5f45218..2dc7b9a 100644
--- a/src/libbsc/bsc_api.c
+++ b/src/libbsc/bsc_api.c
@@ -278,7 +278,6 @@
conn->lchan = lchan;
lchan->conn = conn;
INIT_LLIST_HEAD(&conn->ho_dtap_cache);
- conn->ho_penalty_timers = penalty_timers_init(conn);
conn->sccp.conn_id = -1;
llist_add_tail(&conn->entry, &net->subscr_conns);
return conn;
@@ -353,7 +352,7 @@
/* drop pending messages */
ho_dtap_cache_flush(conn, 0);
- penalty_timers_free(&conn->ho_penalty_timers);
+ penalty_timers_free(&conn->hodec2.penalty_timers);
llist_del(&conn->entry);
talloc_free(conn);