aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-10-17 13:44:18 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-10-30 21:20:44 +0100
commit698b6121883f2f50ba95d72f900894366bc7c082 (patch)
tree0b1296199eb36f7f56a958abc0ba55accfd3720f /src
parentae947fcf6710c72f55e1794fa4b3fa85aeeac720 (diff)
bts: Remove global state from gprs_rlcmac_rcv_data_block_acknowledged
Diffstat (limited to 'src')
-rw-r--r--src/gprs_rlcmac.cpp5
-rw-r--r--src/gprs_rlcmac.h6
-rw-r--r--src/gprs_rlcmac_data.cpp4
-rw-r--r--src/pcu_l1_if.cpp2
4 files changed, 10 insertions, 7 deletions
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)