handover: Use common function to reset handover state

Conflicts:
	src/common/rsl.c
This commit is contained in:
Andreas Eversberg 2013-06-13 10:19:46 +02:00 committed by Holger Hans Peter Freyther
parent d33659a2a5
commit dc8b1207a1
3 changed files with 9 additions and 4 deletions

View File

@ -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 */

View File

@ -136,10 +136,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;
}

View File

@ -833,9 +833,8 @@ static int rsl_rx_rf_chan_rel(struct gsm_lchan *lchan)
msgb_queue_flush(&lchan->dl_tch_queue);
}
/* deactivate handover RACH detection and timer */
lchan->ho.active = HANDOVER_NONE;
osmo_timer_del(&lchan->ho.t3105);
/* release handover state */
reset_handover(lchan);
lchan->rel_act_kind = LCHAN_REL_ACT_RSL;
rc = bts_model_rsl_chan_rel(lchan);