pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/32750 )
Change subject: layer23: Move SAP init/close to be done during MS allocation/destruction ......................................................................
layer23: Move SAP init/close to be done during MS allocation/destruction
Change-Id: Ic20760228668db4cb2fc6cdea4fd0470c211ce0a --- M src/host/layer23/src/common/ms.c M src/host/layer23/src/mobile/app_mobile.c 2 files changed, 19 insertions(+), 12 deletions(-)
Approvals: laforge: Looks good to me, but someone else must approve Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved
diff --git a/src/host/layer23/src/common/ms.c b/src/host/layer23/src/common/ms.c index f123b1e..a14cb1e 100644 --- a/src/host/layer23/src/common/ms.c +++ b/src/host/layer23/src/common/ms.c @@ -27,6 +27,12 @@
static int osmocom_ms_talloc_destructor(struct osmocom_ms *ms) { + + if (ms->sap_wq.bfd.fd > -1) { + sap_close(ms); + ms->sap_wq.bfd.fd = -1; + } + gprs_settings_fi(ms); gsm_subscr_exit(ms); gsm_sim_exit(ms); @@ -63,6 +69,10 @@ gsm_support_init(ms); gsm_settings_init(ms); gprs_settings_init(ms); + /* init SAP client before SIM card starts up */ + sap_init(ms); + /* SAP response call-back */ + ms->sap_entity.sap_rsp_cb = &gsm_subscr_sap_rsp_cb; gsm_sim_init(ms); gsm_subscr_init(ms);
diff --git a/src/host/layer23/src/mobile/app_mobile.c b/src/host/layer23/src/mobile/app_mobile.c index b314c29..76f11f3 100644 --- a/src/host/layer23/src/mobile/app_mobile.c +++ b/src/host/layer23/src/mobile/app_mobile.c @@ -260,12 +260,6 @@ GSM_LCHAN_SDCCH, NULL); lapdm_channel_set_l1(&ms->lapdm_channel, l1ctl_ph_prim_cb, ms);
- /* init SAP client before SIM card starts up */ - sap_init(ms); - - /* SAP response call-back */ - ms->sap_entity.sap_rsp_cb = &gsm_subscr_sap_rsp_cb; - gsm_sim_init(ms); gsm48_cc_init(ms); gsm480_ss_init(ms); @@ -448,12 +442,6 @@ layer2_close(ms); ms->l2_wq.bfd.fd = -1; } - - if (ms->sap_wq.bfd.fd > -1) { - sap_close(ms); - ms->sap_wq.bfd.fd = -1; - } - if (ms->deleting) { gsm_settings_exit(ms); script_lua_close(ms);