aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/bts.cpp13
-rw-r--r--src/sba.cpp4
2 files changed, 14 insertions, 3 deletions
diff --git a/src/bts.cpp b/src/bts.cpp
index a47d7d87..b4e18e3d 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -909,9 +909,9 @@ void gprs_rlcmac_pdch::add_paging(struct gprs_rlcmac_paging *pag)
void gprs_rlcmac_pdch::rcv_control_ack(Packet_Control_Acknowledgement_t *packet, uint32_t fn)
{
struct gprs_rlcmac_tbf *tbf, *new_tbf;
- uint32_t tlli = 0;
+ uint32_t tlli = packet->TLLI;
+ GprsMs *ms = bts()->ms_by_tlli(tlli);
- tlli = packet->TLLI;
tbf = bts()->ul_tbf_by_poll_fn(fn, trx_no(), ts_no);
if (!tbf)
tbf = bts()->dl_tbf_by_poll_fn(fn, trx_no(), ts_no);
@@ -920,6 +920,15 @@ void gprs_rlcmac_pdch::rcv_control_ack(Packet_Control_Acknowledgement_t *packet,
LOGP(DRLCMAC, LOGL_NOTICE, "PACKET CONTROL ACK with "
"unknown FN=%u TLLI=0x%08x (TRX %d TS %d)\n",
fn, tlli, trx_no(), ts_no);
+ if (ms)
+ LOGP(DRLCMAC, LOGL_NOTICE, "PACKET CONTROL ACK with "
+ "unknown TBF corresponds to MS with IMSI %s, TA %d, "
+ "uTBF (TFI=%d, state=%s), uTBF (TFI=%d, state=%s)\n",
+ ms->imsi(), ms->ta(),
+ ms->ul_tbf() ? ms->ul_tbf()->tfi() : 0,
+ ms->ul_tbf() ? ms->ul_tbf()->state_name() : "None",
+ ms->dl_tbf() ? ms->dl_tbf()->tfi() : 0,
+ ms->dl_tbf() ? ms->dl_tbf()->state_name() : "None");
return;
}
tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF);
diff --git a/src/sba.cpp b/src/sba.cpp
index 46c14315..5d75b17e 100644
--- a/src/sba.cpp
+++ b/src/sba.cpp
@@ -127,7 +127,9 @@ uint32_t SBAController::sched(uint8_t trx, uint8_t ts, uint32_t fn, uint8_t bloc
int SBAController::timeout(struct gprs_rlcmac_sba *sba)
{
- LOGP(DRLCMAC, LOGL_NOTICE, "Poll timeout for SBA\n");
+ LOGP(DRLCMAC, LOGL_NOTICE,
+ "Poll timeout for SBA (TRX=%u, TS=%u, FN=%u, TA=%u)\n", sba->trx_no,
+ sba->ts_no, sba->fn, sba->ta);
m_bts.sba_timedout();
free_sba(sba);
return 0;