pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/32584 )
Change subject: sm: Avoid freeing the SME object too quickly
......................................................................
sm: Avoid freeing the SME object too quickly
At that point in time we may still need it, for instance to send the
primitive to the upper layers. Still, we want it to be t the correct
state when that happens. Hence, delay freeing the object to happen in
next loop iteration, so that it is still available to submit the
primitive, and even skip freeing the object if the SM SAP user decides
to re-activate the PDP context in a synchronous code path from the
primitive callback.
Change-Id: I28655fc6286c92403e3e461cb6433b8567e20fd1
---
M src/sm/sm_ms_fsm.c
1 file changed, 29 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/84/32584/1
diff --git a/src/sm/sm_ms_fsm.c b/src/sm/sm_ms_fsm.c
index 14f5ee7..2ce6f8d 100644
--- a/src/sm/sm_ms_fsm.c
+++ b/src/sm/sm_ms_fsm.c
@@ -30,6 +30,8 @@
#define X(s) (1 << (s))
+#define TIMER_DELAY_FREE 0
+
static const struct osmo_tdef_state_timeout sm_ms_fsm_timeouts[32] = {
[GPRS_SM_MS_ST_PDP_INACTIVE] = {},
[GPRS_SM_MS_ST_PDP_ACTIVE_PENDING] = { .T = 3380 },
@@ -43,9 +45,13 @@
static void st_sm_ms_pdp_inactive_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state)
{
- /* PDP became inactive, there's no use in keeping it */
- struct gprs_sm_ms_fsm_ctx *ctx = (struct gprs_sm_ms_fsm_ctx *)fi->priv;
- gprs_sm_entity_free(ctx->sme);
+ /* PDP became inactive, there's no use in keeping it.
+ * Schedule asynchronous release of PDP. It will automatically be
+ * aborted as a consequence of changing state if user decides to
+ * automatically activate the PDP ctx in this same code path as an
+ * answer to a primitive submitted to it. */
+ fi->T = TIMER_DELAY_FREE;
+ osmo_timer_schedule(&fi->timer, 0, 0);
}
static void st_sm_ms_pdp_inactive(struct osmo_fsm_inst *fi, uint32_t event, void *data)
@@ -149,6 +155,9 @@
struct gprs_sm_ms_fsm_ctx *ctx = (struct gprs_sm_ms_fsm_ctx *)fi->priv;
switch (fi->T) {
+ case TIMER_DELAY_FREE:
+ gprs_sm_entity_free(ctx->sme);
+ break;
case 3380:
ctx->act_pdp_ctx_attempts++;
LOGPFSML(ctx->fi, LOGL_INFO, "T3380 timeout attempts=%u\n", ctx->act_pdp_ctx_attempts);
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/32584
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I28655fc6286c92403e3e461cb6433b8567e20fd1
Gerrit-Change-Number: 32584
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: laforge, pespin, fixeria.
dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/31417 )
Change subject: l1sap: Accept RFC5993 and TS 101.318 HR GSM payload
......................................................................
Patch Set 6:
(2 comments)
File src/common/l1sap.c:
https://gerrit.osmocom.org/c/osmo-bts/+/31417/comment/dd2816c8_596bda49
PS5, Line 1260: if (OSMO_UNLIKELY((resp_msg->len != GSM_HR_BYTES + 1)
> this alignment looks weird, given that the next line sees to be inside the OSMO_UNLIKELY macro.
Yes, the alignment is indeed wrong.
https://gerrit.osmocom.org/c/osmo-bts/+/31417/comment/6b715061_51845000
PS5, Line 1267: && bts_internal_flag_get(lchan->ts->trx->bts, BTS_INTERNAL_FLAG_SPEECH_H_V1_RTP_TS101318))) {
> agreeing with pespin. […]
Done
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/31417
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I453562da412fde5b928bd2b588129c58ec8e2a7e
Gerrit-Change-Number: 31417
Gerrit-PatchSet: 6
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 03 May 2023 11:16:10 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: laforge, pespin, fixeria.
Hello Jenkins Builder, laforge, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bts/+/31417
to look at the new patch set (#6).
Change subject: l1sap: Accept RFC5993 and TS 101.318 HR GSM payload
......................................................................
l1sap: Accept RFC5993 and TS 101.318 HR GSM payload
Unfotunately there are two different RTP formats for HR GSM specified
and it is unclear which should be used with GSM networks. Also esch BTS
model may have a preference for either one or the other format.
Lets set BTS feature flags to determine the preference for each BTS model
and then lets use this information to convert incoming RTP packets into
the prefered format. Doing so we will make sure that always both formats
are accepted.
Change-Id: I453562da412fde5b928bd2b588129c58ec8e2a7e
Related: OS#5688
---
M include/osmo-bts/bts.h
M src/common/bts.c
M src/common/l1sap.c
M src/osmo-bts-lc15/main.c
M src/osmo-bts-oc2g/main.c
M src/osmo-bts-sysmo/main.c
M src/osmo-bts-trx/main.c
M src/osmo-bts-virtual/main.c
8 files changed, 82 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/17/31417/6
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/31417
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I453562da412fde5b928bd2b588129c58ec8e2a7e
Gerrit-Change-Number: 31417
Gerrit-PatchSet: 6
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: tnt, pespin.
dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/32569 )
Change subject: e1d: get rid of strange file descriptor registered check
......................................................................
Patch Set 2:
(1 comment)
File src/input/e1d.c:
https://gerrit.osmocom.org/c/libosmo-abis/+/32569/comment/04d38554_0942eea4
PS1, Line 420: continue;
> yes, that was my proposal.
I have added the check that was in place before to libosmocore to speed up osmo_fd_is_registered(): I1ce894da39e3f2329c88666a5dda594b8bce4228
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/32569
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: I92c426271dc5455427471030fcf0749566e4c2ee
Gerrit-Change-Number: 32569
Gerrit-PatchSet: 2
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: tnt <tnt(a)246tNt.com>
Gerrit-Attention: tnt <tnt(a)246tNt.com>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 03 May 2023 10:21:15 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: tnt, pespin.
Hello Jenkins Builder, tnt, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-abis/+/32569
to look at the new patch set (#2).
Change subject: e1d: get rid of strange file descriptor registered check
......................................................................
e1d: get rid of strange file descriptor registered check
When the line update happens the list.next member of the file descriptor
is checked for NULL and != LLIST_POISON1. This directly tampers with the
llist API and might be problematic. Also we can tell by the file
descriptor number if the file descriptor is registered or not. An open
file descriptor is always registered.
Change-Id: I92c426271dc5455427471030fcf0749566e4c2ee
Related: OS#5983
---
M src/input/e1d.c
1 file changed, 18 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/69/32569/2
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/32569
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: I92c426271dc5455427471030fcf0749566e4c2ee
Gerrit-Change-Number: 32569
Gerrit-PatchSet: 2
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: tnt <tnt(a)246tNt.com>
Gerrit-Attention: tnt <tnt(a)246tNt.com>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset