aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2013-06-13 10:19:46 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2014-01-21 15:54:28 +0100
commit749c6127d0838e1810ec96030ddb2aedafd46b23 (patch)
treeadd538e471491c6c62ce3fbd3786489cf7cdeeda
parent5da3a2155d8f9a677321e15229a624599ecd18f1 (diff)
handover: Use common function to reset handover state
-rw-r--r--include/osmo-bts/handover.h1
-rw-r--r--src/common/handover.c7
-rw-r--r--src/common/rsl.c5
3 files changed, 9 insertions, 4 deletions
diff --git a/include/osmo-bts/handover.h b/include/osmo-bts/handover.h
index b08f0657..4412ea18 100644
--- a/include/osmo-bts/handover.h
+++ b/include/osmo-bts/handover.h
@@ -10,5 +10,6 @@ enum {
void handover_rach(struct gsm_bts_trx *trx, uint8_t chan_nr,
struct gsm_lchan *lchan, uint8_t ra, uint8_t acc_delay);
void handover_frame(struct gsm_lchan *lchan);
+void reset_handover(struct gsm_lchan *lchan);
#endif /* HANDOVER_H */
diff --git a/src/common/handover.c b/src/common/handover.c
index e1b8138a..02db39cb 100644
--- a/src/common/handover.c
+++ b/src/common/handover.c
@@ -137,10 +137,15 @@ void handover_frame(struct gsm_lchan *lchan)
LOGP(DHO, LOGL_INFO,
"%s First valid frame detected\n", gsm_lchan_name(lchan));
+ reset_handover(lchan);
+}
+
+/* release handover starte */
+void reset_handover(struct gsm_lchan *lchan)
+{
/* Stop T3105 */
osmo_timer_del(&lchan->ho.t3105);
/* Handover process is done */
lchan->ho.active = HANDOVER_NONE;
}
-
diff --git a/src/common/rsl.c b/src/common/rsl.c
index cf98dab8..ca323c5f 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -837,9 +837,8 @@ static int rsl_rx_rf_chan_rel(struct gsm_lchan *lchan, uint8_t chan_nr)
lchan->rel_act_kind = LCHAN_REL_ACT_RSL;
- /* deactivate handover RACH detection and timer */
- lchan->ho.active = HANDOVER_NONE;
- osmo_timer_del(&lchan->ho.t3105);
+ /* release handover state */
+ reset_handover(lchan);
l1sap_chan_rel(lchan->ts->trx, chan_nr);