sysmo: fix wrong FN jumps in rx RA.ind
There's no need for setting the FN in RA.ind since we anyway already receive a DATA.ind beforehand. Furthermore, the applied delay of 5 in the call is not really used at all. Change-Id: I437f4f95d054aea96bec3b9343e495451020ff3c
This commit is contained in:
parent
c7cc4162e1
commit
fecab50066
|
@ -305,7 +305,7 @@ static inline int delta_fn(int fn, int to)
|
|||
return (fn + GSM_MAX_FN * 3 / 2 - to) % GSM_MAX_FN - GSM_MAX_FN/2;
|
||||
}
|
||||
|
||||
void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int fn, unsigned max_delay)
|
||||
void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int fn)
|
||||
{
|
||||
int delay = 0;
|
||||
const int late_block_delay_thresh = 13;
|
||||
|
|
|
@ -276,7 +276,7 @@ struct gprs_rlcmac_ul_tbf *bts_ul_tbf_by_tfi(struct gprs_rlcmac_bts *bts, uint8_
|
|||
void bts_snd_dl_ass(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_tbf *tbf, bool poll, uint16_t pgroup);
|
||||
|
||||
void bts_set_current_frame_number(struct gprs_rlcmac_bts *bts, uint32_t frame_number);
|
||||
void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int frame_number, unsigned max_delay);
|
||||
void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int frame_number);
|
||||
static inline uint32_t bts_current_frame_number(const struct gprs_rlcmac_bts *bts)
|
||||
{
|
||||
return bts->cur_fn;
|
||||
|
|
|
@ -240,8 +240,6 @@ static int handle_ph_ra_ind(struct femtol1_hdl *fl1h, GsmL1_PhRaInd_t *ra_ind)
|
|||
struct gprs_rlcmac_bts *bts;
|
||||
bts = llist_first_entry_or_null(&the_pcu->bts_list, struct gprs_rlcmac_bts, list);
|
||||
|
||||
pcu_rx_ra_time(bts, ra_ind->u16Arfcn, ra_ind->u32Fn, ra_ind->u8Tn);
|
||||
|
||||
if (ra_ind->measParam.fLinkQuality < MIN_QUAL_RACH)
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -273,13 +273,7 @@ void pcu_l1if_tx_pch(struct gprs_rlcmac_bts *bts, bitvec * block, int plen, uint
|
|||
|
||||
void pcu_rx_block_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no)
|
||||
{
|
||||
bts_set_current_block_frame_number(bts, fn, 0);
|
||||
}
|
||||
|
||||
void pcu_rx_ra_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no)
|
||||
{
|
||||
/* access bursts may arrive some bursts earlier */
|
||||
bts_set_current_block_frame_number(bts, fn, 5);
|
||||
bts_set_current_block_frame_number(bts, fn);
|
||||
}
|
||||
|
||||
int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, uint8_t *data,
|
||||
|
|
|
@ -177,7 +177,6 @@ int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *
|
|||
uint8_t len, uint32_t fn, struct pcu_l1_meas *meas);
|
||||
|
||||
void pcu_rx_block_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no);
|
||||
void pcu_rx_ra_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no);
|
||||
uint16_t imsi2paging_group(const char* imsi);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -627,7 +627,7 @@ static gprs_rlcmac_ul_tbf *establish_ul_tbf_single_phase(struct gprs_rlcmac_bts
|
|||
static void send_ul_mac_block_buf(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch,
|
||||
unsigned fn, uint8_t *buf, int num_bytes)
|
||||
{
|
||||
bts_set_current_block_frame_number(bts, fn, 0);
|
||||
bts_set_current_block_frame_number(bts, fn);
|
||||
pdch->rcv_block(buf, num_bytes, fn, &meas);
|
||||
pdch_ulc_expire_fn(pdch->ulc, fn);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue