diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-10-17 15:41:36 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-10-30 21:20:45 +0100 |
commit | ee7a535608e2bbb510842ff34d0c7d27fde30edd (patch) | |
tree | 726a8853e125ee42b6ecc436d7b988a422e32539 /src | |
parent | 485860cc31ba66b016bc4641b9a88705aa67c0f6 (diff) |
bts: Remove global state from write_immediate_assignment
Diffstat (limited to 'src')
-rw-r--r-- | src/gprs_rlcmac.cpp | 5 | ||||
-rw-r--r-- | src/gprs_rlcmac.h | 4 | ||||
-rw-r--r-- | src/gprs_rlcmac_data.cpp | 6 |
3 files changed, 9 insertions, 6 deletions
diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index 7ab187fc..77b130b2 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -452,7 +452,9 @@ continue_next: } // GSM 04.08 9.1.18 Immediate assignment -int write_immediate_assignment(bitvec * dest, uint8_t downlink, uint8_t ra, +int write_immediate_assignment( + struct gprs_rlcmac_bts *bts, + bitvec * dest, uint8_t downlink, uint8_t ra, uint32_t ref_fn, uint8_t ta, uint16_t arfcn, uint8_t ts, uint8_t tsc, uint8_t tfi, uint8_t usf, uint32_t tlli, uint8_t polling, uint32_t fn, uint8_t single_block, uint8_t alpha, @@ -539,7 +541,6 @@ int write_immediate_assignment(bitvec * dest, uint8_t downlink, uint8_t ra, } else { - struct gprs_rlcmac_bts *bts = gprs_rlcmac_bts; // GMS 04.08 10.5.2.37b 10.5.2.16 bitvec_write_field(dest, wp, 3, 2); // "HH" bitvec_write_field(dest, wp, 0, 2); // "0" Packet Uplink Assignment diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h index 7a246226..9f9f9ffa 100644 --- a/src/gprs_rlcmac.h +++ b/src/gprs_rlcmac.h @@ -162,7 +162,9 @@ 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, +int write_immediate_assignment( + struct gprs_rlcmac_bts *bts, + bitvec * dest, uint8_t downlink, uint8_t ra, uint32_t ref_fn, uint8_t ta, uint16_t arfcn, uint8_t ts, uint8_t tsc, uint8_t tfi, uint8_t usf, uint32_t tlli, uint8_t polling, uint32_t fn, uint8_t single_block, uint8_t alpha, uint8_t gamma, diff --git a/src/gprs_rlcmac_data.cpp b/src/gprs_rlcmac_data.cpp index f72ea409..e81f2e43 100644 --- a/src/gprs_rlcmac_data.cpp +++ b/src/gprs_rlcmac_data.cpp @@ -1094,12 +1094,12 @@ int gprs_rlcmac_rcv_rach(struct gprs_rlcmac_bts *bts, bitvec_unhex(immediate_assignment, "2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b"); if (sb) - plen = write_immediate_assignment(immediate_assignment, 0, ra, + plen = write_immediate_assignment(bts, immediate_assignment, 0, ra, Fn, qta >> 2, bts->trx[trx].arfcn, ts, bts->trx[trx].pdch[ts].tsc, 0, 0, 0, 0, sb_fn, 1, bts->alpha, bts->gamma, -1); else - plen = write_immediate_assignment(immediate_assignment, 0, ra, + plen = write_immediate_assignment(bts, immediate_assignment, 0, ra, Fn, tbf->ta, tbf->arfcn, tbf->first_ts, tbf->tsc, tbf->tfi, tbf->dir.ul.usf[tbf->first_ts], 0, 0, 0, 0, bts->alpha, bts->gamma, -1); @@ -1720,7 +1720,7 @@ static void gprs_rlcmac_downlink_assignment(struct gprs_rlcmac_bts *bts, bitvec_unhex(immediate_assignment, "2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b"); /* use request reference that has maximum distance to current time, * so the assignment will not conflict with possible RACH requests. */ - plen = write_immediate_assignment(immediate_assignment, 1, 125, + plen = write_immediate_assignment(bts, immediate_assignment, 1, 125, (tbf->pdch[tbf->first_ts]->last_rts_fn + 21216) % 2715648, tbf->ta, tbf->arfcn, tbf->first_ts, tbf->tsc, tbf->tfi, 0, tbf->tlli, poll, tbf->poll_fn, 0, bts->alpha, bts->gamma, -1); |