aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf_ul.cpp
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-03-29 18:15:30 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2021-03-31 17:39:50 +0200
commit86580e1966b7272cad75c845607e45b8347cf758 (patch)
tree3b65144d5888c3c1eed7fbb5de9ee2c86bdfdcda /src/tbf_ul.cpp
parentb5ae0811d1667e792fc3a4e550384791f4bca4c9 (diff)
pdch_ulc: Store TBF poll reason
This allows easily checking the initial reason to trigger the poll when either it is received or times out. Later on this reason can be transformed into an FSM event and sent to the related FSM. Related: OS#5020 Change-Id: Ie8fefd1f47ad674ce597a8065b15284088956bde
Diffstat (limited to 'src/tbf_ul.cpp')
-rw-r--r--src/tbf_ul.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp
index ba491f6d..063d0ff2 100644
--- a/src/tbf_ul.cpp
+++ b/src/tbf_ul.cpp
@@ -275,10 +275,10 @@ bool gprs_rlcmac_ul_tbf::ctrl_ack_to_toggle()
return false; /* GPRS_RLCMAC_FLAG_TO_UL_ACK was unset, now set */
}
-bool gprs_rlcmac_ul_tbf::handle_ctrl_ack()
+bool gprs_rlcmac_ul_tbf::handle_ctrl_ack(enum pdch_ulc_tbf_poll_reason reason)
{
/* check if this control ack belongs to packet uplink ack */
- if (ul_ack_state_is(GPRS_RLCMAC_UL_ACK_WAIT_ACK)) {
+ if (reason == PDCH_ULC_POLL_UL_ACK && ul_ack_state_is(GPRS_RLCMAC_UL_ACK_WAIT_ACK)) {
TBF_SET_ACK_STATE(this, GPRS_RLCMAC_UL_ACK_NONE);
return true;
}
@@ -324,7 +324,7 @@ struct msgb *gprs_rlcmac_ul_tbf::create_ul_ack(uint32_t fn, uint8_t ts)
m_contention_resolution_done = 1;
if (final) {
- set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_UL_ACK);
+ set_polling(new_poll_fn, ts, PDCH_ULC_POLL_UL_ACK);
/* waiting for final acknowledge */
m_final_ack_sent = 1;
} else