This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Max gerrit-no-reply at lists.osmocom.orgHello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/6193 to look at the new patch set (#2). Move paging generation into PDCH Previously paging was prepared inside BTS function and than handed over to PDCH function. Move the actual preparation into PDCH to better decouple PDCH from BTS. Related: OS#1539 Change-Id: I389fb16b6e54040770c21f88edbcb8e045636928 --- M src/bts.cpp M src/bts.h 2 files changed, 14 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/93/6193/2 diff --git a/src/bts.cpp b/src/bts.cpp index 1669739..1d5b29f 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -303,7 +303,6 @@ uint8_t l, trx, ts, any_tbf = 0; struct gprs_rlcmac_tbf *tbf; LListHead<gprs_rlcmac_tbf> *pos; - struct gprs_rlcmac_paging *pag; uint8_t slot_mask[8]; int8_t first_ts; /* must be signed */ @@ -359,16 +358,10 @@ for (ts = 0; ts < 8; ts++) { if ((slot_mask[trx] & (1 << ts))) { /* schedule */ - pag = talloc_zero(tall_pcu_ctx, - struct gprs_rlcmac_paging); - if (!pag) + if (!m_bts.trx[trx].pdch[ts].add_paging(chan_needed, identity_lv)) return -ENOMEM; - pag->chan_needed = chan_needed; - memcpy(pag->identity_lv, identity_lv, - identity_lv[0] + 1); - m_bts.trx[trx].pdch[ts].add_paging(pag); - LOGP(DRLCMAC, LOGL_INFO, "Paging on PACCH of " - "TRX=%d TS=%d\n", trx, ts); + + LOGP(DRLCMAC, LOGL_INFO, "Paging on PACCH of TRX=%d TS=%d\n", trx, ts); any_tbf = 1; } } @@ -971,9 +964,18 @@ return msg; } -void gprs_rlcmac_pdch::add_paging(struct gprs_rlcmac_paging *pag) +bool gprs_rlcmac_pdch::add_paging(uint8_t chan_needed, uint8_t *identity_lv) { + struct gprs_rlcmac_paging *pag = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_paging); + if (!pag) + return false; + + pag->chan_needed = chan_needed; + memcpy(pag->identity_lv, identity_lv, identity_lv[0] + 1); + llist_add(&pag->list, &paging_list); + + return true; } void gprs_rlcmac_pdch::rcv_control_ack(Packet_Control_Acknowledgement_t *packet, uint32_t fn) diff --git a/src/bts.h b/src/bts.h index 5679b98..173e6e8 100644 --- a/src/bts.h +++ b/src/bts.h @@ -73,7 +73,7 @@ struct gprs_rlcmac_paging *dequeue_paging(); struct msgb *packet_paging_request(); - void add_paging(struct gprs_rlcmac_paging *pag); + bool add_paging(uint8_t chan_needed, uint8_t *identity_lv); void free_resources(); -- To view, visit https://gerrit.osmocom.org/6193 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I389fb16b6e54040770c21f88edbcb8e045636928 Gerrit-PatchSet: 2 Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Owner: Max <msuraev at sysmocom.de> Gerrit-Reviewer: Jenkins Builder