pespin submitted this change.

View Change

Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve
tbf_ul_ack_fsm: get ul_tbf base class only when needed

Otherwise it may give the wrong impression that the FSM can be used by
both DL TBFs and UL TBFs, which is not the case (only used by UL TBFs).

Change-Id: I788eae58248fa21732efe802344aa3c0c5031b5a
---
M src/tbf_ul_ack_fsm.c
1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/tbf_ul_ack_fsm.c b/src/tbf_ul_ack_fsm.c
index 0faf21e..8ec2199 100644
--- a/src/tbf_ul_ack_fsm.c
+++ b/src/tbf_ul_ack_fsm.c
@@ -55,11 +55,11 @@
int rc;
unsigned int rrbp = 0;
uint32_t new_poll_fn = 0;
- struct gprs_rlcmac_tbf *tbf = (struct gprs_rlcmac_tbf *)ctx->tbf;
- struct GprsMs *ms = tbf_ms(tbf);
+ struct gprs_rlcmac_ul_tbf *tbf = ctx->tbf;
+ struct GprsMs *ms = tbf_ms(ul_tbf_as_tbf(tbf));

if (final) {
- rc = tbf_check_polling(tbf, d->fn, d->ts, &new_poll_fn, &rrbp);
+ rc = tbf_check_polling(ul_tbf_as_tbf(tbf), d->fn, d->ts, &new_poll_fn, &rrbp);
if (rc < 0)
return NULL;
}
@@ -88,8 +88,8 @@
ul_tbf_contention_resolution_success(ctx->tbf);

if (final) {
- tbf_set_polling(tbf, new_poll_fn, d->ts, PDCH_ULC_POLL_UL_ACK);
- LOGPTBF(tbf, LOGL_DEBUG,
+ tbf_set_polling(ul_tbf_as_tbf(tbf), new_poll_fn, d->ts, PDCH_ULC_POLL_UL_ACK);
+ LOGPTBFUL(tbf, LOGL_DEBUG,
"Scheduled UL Acknowledgement polling on PACCH (FN=%d, TS=%d)\n",
new_poll_fn, d->ts);
}
@@ -139,7 +139,7 @@
static void st_wait_ctrl_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data)
{
struct tbf_ul_ack_fsm_ctx *ctx = (struct tbf_ul_ack_fsm_ctx *)fi->priv;
- struct gprs_rlcmac_tbf *tbf = (struct gprs_rlcmac_tbf *)ctx->tbf;
+ struct gprs_rlcmac_ul_tbf *tbf = ctx->tbf;

switch (event) {
case TBF_UL_ACK_EV_SCHED_ACK:
@@ -149,9 +149,9 @@
tbf_ul_ack_fsm_state_chg(fi, TBF_UL_ACK_ST_NONE);
break;
case TBF_UL_ACK_EV_POLL_TIMEOUT:
- LOGPTBF(tbf, LOGL_NOTICE,
+ LOGPTBFUL(tbf, LOGL_NOTICE,
"Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ACK: %s\n",
- tbf_rlcmac_diag(tbf));
+ tbf_rlcmac_diag(ul_tbf_as_tbf(tbf)));
/* Reschedule Ul Ack/NAck */
tbf_ul_ack_fsm_state_chg(fi, TBF_UL_ACK_ST_SCHED_UL_ACK);
break;

To view, visit change 29899. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I788eae58248fa21732efe802344aa3c0c5031b5a
Gerrit-Change-Number: 29899
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged