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/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has submitted this change and it was merged. Change subject: Close TRX session before opening new one ...................................................................... Close TRX session before opening new one This fixes the unstable behavior (BTS loosing subscribers after some time) in case previous run of osmo-bts was interrupted (with ctrl+c for example). Change-Id: Ie2119b0b566d01f0e70b38c8a149fecb47def38d --- M src/osmo-bts-octphy/l1_oml.c 1 file changed, 43 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index 18bd8c0..401201a 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -1097,6 +1097,23 @@ return 0; } +static int disable_events_compl_cb(struct octphy_hdl *fl1, struct msgb *resp, void *data) +{ + tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP *mser = + (tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP *) resp->l2h; + + /* in a completion call-back, we take msgb ownership and must + * release it before returning */ + + mOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP_SWAP(mser); + + LOGP(DL1C, LOGL_INFO, "Rx DISABLE-EVT-REC.resp\n"); + + msgb_free(resp); + + return 0; +} + int l1if_enable_events(struct gsm_bts_trx *trx) { struct phy_instance *pinst = trx_phy_instance(trx); @@ -1116,7 +1133,29 @@ LOGP(DL1C, LOGL_INFO, "Tx ENABLE-EVT-REC.req\n"); - return l1if_req_compl(fl1h, msg, enable_events_compl_cb, 0); + return l1if_req_compl(fl1h, msg, disable_events_compl_cb, 0); +} + +int l1if_disable_events(struct gsm_bts_trx *trx) +{ + struct phy_instance *pinst = trx_phy_instance(trx); + struct octphy_hdl *fl1h = pinst->phy_link->u.octphy.hdl; + struct msgb *msg = l1p_msgb_alloc(); + tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD *mse; + + mse = (tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD *) + msgb_put(msg, sizeof(*mse)); + mOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD_DEF(mse); + + l1if_fill_msg_hdr(&mse->Header, msg, fl1h, cOCTVC1_MSG_TYPE_COMMAND, + cOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CID); + mse->ulEvtActiveFlag = cOCT_FALSE; + + mOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD_SWAP(mse); + + LOGP(DL1C, LOGL_INFO, "Tx DISABLE-EVT-REC.req\n"); + + return l1if_req_compl(fl1h, msg, disable_events_compl_cb, 0); } #define talloc_replace(dst, ctx, src) \ @@ -1483,6 +1522,9 @@ int bts_model_trx_close(struct gsm_bts_trx *trx) { + /* disable events */ + l1if_disable_events(trx); + /* FIXME: close only one TRX */ return trx_close(trx); } -- To view, visit https://gerrit.osmocom.org/232 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ie2119b0b566d01f0e70b38c8a149fecb47def38d Gerrit-PatchSet: 2 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: Max <msuraev at sysmocom.de> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder