diff options
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/handover.c | 23 | ||||
-rw-r--r-- | src/common/rsl.c | 3 |
2 files changed, 11 insertions, 15 deletions
diff --git a/src/common/handover.c b/src/common/handover.c index 04aadb03..f20f05ed 100644 --- a/src/common/handover.c +++ b/src/common/handover.c @@ -35,7 +35,7 @@ #include <osmo-bts/handover.h> /* Transmit a handover related PHYS INFO on given lchan */ -static int ho_tx_phys_info(struct gsm_lchan *lchan, uint8_t ta) +static int ho_tx_phys_info(struct gsm_lchan *lchan) { struct msgb *msg = msgb_alloc_headroom(1024, 128, "PHYS INFO"); struct gsm48_hdr *gh; @@ -52,7 +52,7 @@ static int ho_tx_phys_info(struct gsm_lchan *lchan, uint8_t ta) gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_HANDO_INFO; - msgb_put_u8(msg, ta); + msgb_put_u8(msg, lchan->rqd_ta); rsl_rll_push_l3(msg, RSL_MT_UNIT_DATA_REQ, gsm_lchan2chan_nr(lchan), 0x00, 0); @@ -86,16 +86,15 @@ static void ho_t3105_cb(void *data) return; } - ho_tx_phys_info(lchan, lchan->rqd_ta); + ho_tx_phys_info(lchan); lchan->ho.phys_info_count++; osmo_timer_schedule(&lchan->ho.t3105, 0, btsb->t3105_ms * 1000); } /* received random access on dedicated channel */ -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_rach(struct gsm_lchan *lchan, uint8_t ra) { - struct gsm_bts *bts = trx->bts; + struct gsm_bts *bts = lchan->ts->trx->bts; struct gsm_bts_role_bts *btsb = bts->role; /* Ignore invalid handover ref */ @@ -107,11 +106,8 @@ void handover_rach(struct gsm_bts_trx *trx, uint8_t chan_nr, } LOGP(DHO, LOGL_NOTICE, - "%s RACH on dedicated channel received with TA=%u\n", - gsm_lchan_name(lchan), acc_delay); - - /* Set timing advance */ - lchan->rqd_ta = acc_delay; + "%s RACH on dedicated channel received\n", + gsm_lchan_name(lchan)); /* Stop handover detection, wait for valid frame */ lchan->ho.active = HANDOVER_WAIT_FRAME; @@ -124,11 +120,11 @@ void handover_rach(struct gsm_bts_trx *trx, uint8_t chan_nr, } /* Send HANDover DETect to BSC */ - rsl_tx_hando_det(lchan, &acc_delay); + rsl_tx_hando_det(lchan, NULL); /* Send PHYS INFO */ lchan->ho.phys_info_count = 1; - ho_tx_phys_info(lchan, acc_delay); + ho_tx_phys_info(lchan); /* Start T3105 */ LOGP(DHO, LOGL_DEBUG, @@ -144,7 +140,6 @@ void handover_frame(struct gsm_lchan *lchan) { LOGP(DHO, LOGL_INFO, "%s First valid frame detected\n", gsm_lchan_name(lchan)); - reset_handover(lchan); } diff --git a/src/common/rsl.c b/src/common/rsl.c index 09b815b2..077b836a 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -739,7 +739,8 @@ static int rsl_rx_chan_activ(struct msgb *msg) TLVP_PRESENT(&tp, RSL_IE_HANDO_REF)) { lchan->ho.active = HANDOVER_ENABLED; lchan->ho.ref = *TLVP_VAL(&tp, RSL_IE_HANDO_REF); - LOGP(DRSL, LOGL_INFO, "Channel activation due to handover (id %i)", lchan->ho.ref); + LOGP(DRSL, LOGL_INFO, + "Channel activation due to handover (id %i)\n", lchan->ho.ref); } /* 9.3.4 BS Power */ |