bts: Remove global state from gprs_rlcmac_rcv_data_block_acknowledged

This commit is contained in:
Holger Hans Peter Freyther 2013-10-17 13:44:18 +02:00
parent ae947fcf67
commit 698b612188
4 changed files with 10 additions and 7 deletions

View File

@ -245,7 +245,8 @@ struct gprs_rlcmac_sba *sba_find(uint8_t trx, uint8_t ts, uint32_t fn)
}
/* received RLC/MAC block from L1 */
int gprs_rlcmac_rcv_block(uint8_t trx, uint8_t ts, uint8_t *data, uint8_t len,
int gprs_rlcmac_rcv_block(struct gprs_rlcmac_bts *bts,
uint8_t trx, uint8_t ts, uint8_t *data, uint8_t len,
uint32_t fn, int8_t rssi)
{
unsigned payload = data[0] >> 6;
@ -254,7 +255,7 @@ int gprs_rlcmac_rcv_block(uint8_t trx, uint8_t ts, uint8_t *data, uint8_t len,
switch (payload) {
case GPRS_RLCMAC_DATA_BLOCK:
rc = gprs_rlcmac_rcv_data_block_acknowledged(trx, ts, data,
rc = gprs_rlcmac_rcv_data_block_acknowledged(bts, trx, ts, data,
len, rssi);
break;
case GPRS_RLCMAC_CONTROL_BLOCK:

View File

@ -158,7 +158,8 @@ enum gprs_rlcmac_block_type {
GPRS_RLCMAC_RESERVED = 0x3
};
int gprs_rlcmac_rcv_block(uint8_t trx, uint8_t ts, uint8_t *data, uint8_t len,
int gprs_rlcmac_rcv_block(struct gprs_rlcmac_bts *bts,
uint8_t trx, uint8_t ts, uint8_t *data, uint8_t len,
uint32_t fn, int8_t rssi);
int write_immediate_assignment(bitvec * dest, uint8_t downlink, uint8_t ra,
@ -214,7 +215,8 @@ unsigned write_packet_paging_request(bitvec * dest);
unsigned write_repeated_page_info(bitvec * dest, unsigned& wp, uint8_t len,
uint8_t *identity, uint8_t chan_needed);
int gprs_rlcmac_rcv_data_block_acknowledged(uint8_t trx, uint8_t ts,
int gprs_rlcmac_rcv_data_block_acknowledged(struct gprs_rlcmac_bts *bts,
uint8_t trx, uint8_t ts,
uint8_t *data, uint8_t len, int8_t rssi);
struct msgb *gprs_rlcmac_send_data_block_acknowledged(

View File

@ -736,10 +736,10 @@ struct msgb *gprs_rlcmac_send_uplink_ack(struct gprs_rlcmac_bts *bts,
*
* The blocks are defragmented and forwarded as LLC frames, if complete.
*/
int gprs_rlcmac_rcv_data_block_acknowledged(uint8_t trx, uint8_t ts,
int gprs_rlcmac_rcv_data_block_acknowledged(struct gprs_rlcmac_bts *bts,
uint8_t trx, uint8_t ts,
uint8_t *data, uint8_t len, int8_t rssi)
{
struct gprs_rlcmac_bts *bts = gprs_rlcmac_bts;
struct gprs_rlcmac_tbf *tbf;
struct rlc_ul_header *rh = (struct rlc_ul_header *)data;
uint16_t mod_sns, mod_sns_half, offset_v_q, offset_v_r, index;

View File

@ -195,7 +195,7 @@ void pcu_l1if_tx_pch(bitvec * block, int plen, const char *imsi)
extern "C" int pcu_rx_data_ind_pdtch(uint8_t trx, uint8_t ts, uint8_t *data,
uint8_t len, uint32_t fn, int8_t rssi)
{
return gprs_rlcmac_rcv_block(trx, ts, data, len, fn, rssi);
return gprs_rlcmac_rcv_block(gprs_rlcmac_bts, trx, ts, data, len, fn, rssi);
}
static int pcu_rx_data_ind(struct gsm_pcu_if_data *data_ind)