aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/bts.cpp4
-rw-r--r--src/sba.cpp5
-rw-r--r--src/sba.h2
3 files changed, 9 insertions, 2 deletions
diff --git a/src/bts.cpp b/src/bts.cpp
index 25acd27..cb9ecdb 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -745,7 +745,7 @@ int gprs_rlcmac_pdch::rcv_control_block(
LOGP(DRLCMAC, LOGL_DEBUG, "MS requests UL TBF "
"in packet ressource request of single "
"block, so we provide one:\n");
- sba = bts()->sba()->find(trx_no(), ts_no, fn);
+ sba = bts()->sba()->find(this, fn);
if (!sba) {
LOGP(DRLCMAC, LOGL_NOTICE, "MS requests UL TBF "
"in packet ressource request of single "
@@ -799,7 +799,7 @@ int gprs_rlcmac_pdch::rcv_control_block(
LOGP(DRLCMAC, LOGL_ERROR, "RX: [PCU <- BTS] %s TFI: %u TLLI: 0x%08x FIXME: Packet ressource request\n", (tbf->direction == GPRS_RLCMAC_UL_TBF) ? "UL" : "DL", tbf->tfi, tbf->tlli);
break;
case MT_PACKET_MEASUREMENT_REPORT:
- sba = bts()->sba()->find(trx_no(), ts_no, fn);
+ sba = bts()->sba()->find(this, fn);
if (!sba) {
LOGP(DRLCMAC, LOGL_NOTICE, "MS send measurement "
"in packet ressource request of single "
diff --git a/src/sba.cpp b/src/sba.cpp
index 7396811..d87a9a3 100644
--- a/src/sba.cpp
+++ b/src/sba.cpp
@@ -98,6 +98,11 @@ gprs_rlcmac_sba *SBAController::find(uint8_t trx, uint8_t ts, uint32_t fn)
return NULL;
}
+gprs_rlcmac_sba *SBAController::find(const gprs_rlcmac_pdch *pdch, uint32_t fn)
+{
+ return find(pdch->trx_no(), pdch->ts_no, fn);
+}
+
uint32_t SBAController::sched(uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr)
{
uint32_t sba_fn;
diff --git a/src/sba.h b/src/sba.h
index b8d7675..5709ad4 100644
--- a/src/sba.h
+++ b/src/sba.h
@@ -29,6 +29,7 @@ extern "C" {
class BTS;
class PollController;
struct gprs_rlcmac_sba;
+struct gprs_rlcmac_pdch;
/*
* single block allocation entry
@@ -53,6 +54,7 @@ public:
int alloc(uint8_t *_trx, uint8_t *_ts, uint32_t *_fn, uint8_t ta);
gprs_rlcmac_sba *find(uint8_t trx, uint8_t ts, uint32_t fn);
+ gprs_rlcmac_sba *find(const gprs_rlcmac_pdch *pdch, uint32_t fn);
uint32_t sched(uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr);