From 698b6121883f2f50ba95d72f900894366bc7c082 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Thu, 17 Oct 2013 13:44:18 +0200 Subject: bts: Remove global state from gprs_rlcmac_rcv_data_block_acknowledged --- src/gprs_rlcmac.cpp | 5 +++-- src/gprs_rlcmac.h | 6 ++++-- src/gprs_rlcmac_data.cpp | 4 ++-- src/pcu_l1_if.cpp | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index f8c40ac..885ef2e 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -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: diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h index 43f38c7..5ce503b 100644 --- a/src/gprs_rlcmac.h +++ b/src/gprs_rlcmac.h @@ -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( diff --git a/src/gprs_rlcmac_data.cpp b/src/gprs_rlcmac_data.cpp index da7295b..ff811c6 100644 --- a/src/gprs_rlcmac_data.cpp +++ b/src/gprs_rlcmac_data.cpp @@ -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; diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 31ea8dc..d4058e7 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -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) -- cgit v1.2.3