summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/host/layer23/include/osmocom/bb/mobile/mncc_sock.h2
-rw-r--r--src/host/layer23/src/common/sim.c3
-rw-r--r--src/host/layer23/src/mobile/app_mobile.c2
-rw-r--r--src/host/layer23/src/mobile/gsm322.c24
-rw-r--r--src/host/layer23/src/mobile/gsm48_cc.c2
-rw-r--r--src/host/layer23/src/mobile/mncc_sock.c4
-rw-r--r--src/host/layer23/src/mobile/mnccms.c5
-rw-r--r--src/host/layer23/src/mobile/subscriber.c8
-rw-r--r--src/host/layer23/src/mobile/transaction.c4
-rw-r--r--src/host/layer23/src/mobile/vty_interface.c4
10 files changed, 23 insertions, 35 deletions
diff --git a/src/host/layer23/include/osmocom/bb/mobile/mncc_sock.h b/src/host/layer23/include/osmocom/bb/mobile/mncc_sock.h
index b38c5bc6..9116ea3f 100644
--- a/src/host/layer23/include/osmocom/bb/mobile/mncc_sock.h
+++ b/src/host/layer23/include/osmocom/bb/mobile/mncc_sock.h
@@ -10,7 +10,7 @@ struct mncc_sock_state {
int mncc_sock_from_cc(struct mncc_sock_state *state, struct msgb *msg);
void mncc_sock_write_pending(struct mncc_sock_state *state);
-struct mncc_sock_state *mncc_sock_init(void *inst, const char *name, void *tall_ctx);
+struct mncc_sock_state *mncc_sock_init(void *inst, const char *name);
void mncc_sock_exit(struct mncc_sock_state *state);
#endif /* _MNCC_SOCK_H */
diff --git a/src/host/layer23/src/common/sim.c b/src/host/layer23/src/common/sim.c
index 9aad9666..c2d6033c 100644
--- a/src/host/layer23/src/common/sim.c
+++ b/src/host/layer23/src/common/sim.c
@@ -29,7 +29,6 @@
#include <osmocom/bb/common/osmocom_data.h>
#include <osmocom/bb/common/l1ctl.h>
-extern void *l23_ctx;
static int sim_process_job(struct osmocom_ms *ms);
/*
@@ -1181,7 +1180,7 @@ uint32_t sim_open(struct osmocom_ms *ms,
struct gsm_sim_handler *handler;
/* create handler and attach */
- handler = talloc_zero(l23_ctx, struct gsm_sim_handler);
+ handler = talloc_zero(ms, struct gsm_sim_handler);
if (!handler)
return 0;
handler->handle = new_handle++;
diff --git a/src/host/layer23/src/mobile/app_mobile.c b/src/host/layer23/src/mobile/app_mobile.c
index 9dbae7c4..bd786b56 100644
--- a/src/host/layer23/src/mobile/app_mobile.c
+++ b/src/host/layer23/src/mobile/app_mobile.c
@@ -273,7 +273,7 @@ struct osmocom_ms *mobile_new(char *name)
mncc_name = talloc_asprintf(ms, "/tmp/ms_mncc_%s", ms->name);
ms->mncc_entity.mncc_recv = mncc_recv_app;
- ms->mncc_entity.sock_state = mncc_sock_init(ms, mncc_name, l23_ctx);
+ ms->mncc_entity.sock_state = mncc_sock_init(ms, mncc_name);
talloc_free(mncc_name);
} else if (ms->settings.ch_cap == GSM_CAP_SDCCH)
diff --git a/src/host/layer23/src/mobile/gsm322.c b/src/host/layer23/src/mobile/gsm322.c
index ad6a83bf..8311a44b 100644
--- a/src/host/layer23/src/mobile/gsm322.c
+++ b/src/host/layer23/src/mobile/gsm322.c
@@ -45,8 +45,6 @@
const char *ba_version = "osmocom BA V1\n";
-extern void *l23_ctx;
-
static void gsm322_cs_timeout(void *arg);
static int gsm322_cs_select(struct osmocom_ms *ms, int index, uint16_t mcc,
uint16_t mnc, int any);
@@ -560,7 +558,7 @@ int gsm322_add_forbidden_la(struct osmocom_ms *ms, uint16_t mcc,
LOGP(DPLMN, LOGL_INFO, "Add to list of forbidden LAs "
"(mcc=%s, mnc=%s, lac=%04x)\n", gsm_print_mcc(mcc),
gsm_print_mnc(mnc), lac);
- la = talloc_zero(l23_ctx, struct gsm322_la_list);
+ la = talloc_zero(ms, struct gsm322_la_list);
if (!la)
return -ENOMEM;
la->mcc = mcc;
@@ -905,7 +903,7 @@ static int gsm322_sort_list(struct osmocom_ms *ms)
if (cs->list[i].rxlev > found->rxlev)
found->rxlev = cs->list[i].rxlev;
} else {
- temp = talloc_zero(l23_ctx, struct gsm322_plmn_list);
+ temp = talloc_zero(ms, struct gsm322_plmn_list);
if (!temp)
return -ENOMEM;
temp->mcc = cs->list[i].sysinfo->mcc;
@@ -2153,7 +2151,7 @@ static int gsm322_search_end(struct osmocom_ms *ms)
cs->arfcn = cs->sel_arfcn;
cs->arfci = arfcn2index(cs->arfcn);
if (!cs->list[cs->arfci].sysinfo)
- cs->list[cs->arfci].sysinfo = talloc_zero(l23_ctx,
+ cs->list[cs->arfci].sysinfo = talloc_zero(ms,
struct gsm48_sysinfo);
if (!cs->list[cs->arfci].sysinfo)
exit(-ENOMEM);
@@ -2260,7 +2258,7 @@ static int gsm322_cs_scan(struct osmocom_ms *ms)
memset(cs->list[cs->arfci].sysinfo, 0,
sizeof(struct gsm48_sysinfo));
else
- cs->list[cs->arfci].sysinfo = talloc_zero(l23_ctx,
+ cs->list[cs->arfci].sysinfo = talloc_zero(ms,
struct gsm48_sysinfo);
if (!cs->list[cs->arfci].sysinfo)
exit(-ENOMEM);
@@ -2481,7 +2479,7 @@ struct gsm322_ba_list *gsm322_cs_sysinfo_sacch(struct osmocom_ms *ms)
/* find or create ba list */
ba = gsm322_find_ba_list(cs, s->mcc, s->mnc);
if (!ba) {
- ba = talloc_zero(l23_ctx, struct gsm322_ba_list);
+ ba = talloc_zero(ms, struct gsm322_ba_list);
if (!ba)
return NULL;
ba->mcc = s->mcc;
@@ -2523,7 +2521,7 @@ static int gsm322_store_ba_list(struct gsm322_cellsel *cs,
/* find or create ba list */
ba = gsm322_find_ba_list(cs, s->mcc, s->mnc);
if (!ba) {
- ba = talloc_zero(l23_ctx, struct gsm322_ba_list);
+ ba = talloc_zero(cs->ms, struct gsm322_ba_list);
if (!ba)
return -ENOMEM;
ba->mcc = s->mcc;
@@ -4093,7 +4091,7 @@ static struct gsm322_neighbour *gsm322_nb_alloc(struct gsm322_cellsel *cs,
time(&now);
- nb = talloc_zero(l23_ctx, struct gsm322_neighbour);
+ nb = talloc_zero(cs->ms, struct gsm322_neighbour);
if (!nb)
return 0;
@@ -4423,8 +4421,8 @@ no_cell_found:
memset(cs->list[cs->arfci].sysinfo, 0,
sizeof(struct gsm48_sysinfo));
else
- cs->list[cs->arfci].sysinfo = talloc_zero(l23_ctx,
- struct gsm48_sysinfo);
+ cs->list[cs->arfci].sysinfo = talloc_zero(ms,
+ struct gsm48_sysinfo);
if (!cs->list[cs->arfci].sysinfo)
exit(-ENOMEM);
cs->si = cs->list[cs->arfci].sysinfo;
@@ -4595,7 +4593,7 @@ printf("%d time to sync again: %u\n", nb->arfcn, now + GSM58_READ_AGAIN - nb->wh
memset(cs->list[cs->arfci].sysinfo, 0,
sizeof(struct gsm48_sysinfo));
else
- cs->list[cs->arfci].sysinfo = talloc_zero(l23_ctx,
+ cs->list[cs->arfci].sysinfo = talloc_zero(ms,
struct gsm48_sysinfo);
if (!cs->list[cs->arfci].sysinfo)
exit(-ENOMEM);
@@ -5074,7 +5072,7 @@ int gsm322_init(struct osmocom_ms *ms)
"stored BA list becomes obsolete.\n");
} else
while(!feof(fp)) {
- ba = talloc_zero(l23_ctx, struct gsm322_ba_list);
+ ba = talloc_zero(ms, struct gsm322_ba_list);
if (!ba)
return -ENOMEM;
rc = fread(buf, 4, 1, fp);
diff --git a/src/host/layer23/src/mobile/gsm48_cc.c b/src/host/layer23/src/mobile/gsm48_cc.c
index 38dfab02..d398c765 100644
--- a/src/host/layer23/src/mobile/gsm48_cc.c
+++ b/src/host/layer23/src/mobile/gsm48_cc.c
@@ -38,8 +38,6 @@
#include <osmocom/bb/mobile/voice.h>
#include <l1ctl_proto.h>
-extern void *l23_ctx;
-
static int gsm48_cc_tx_release(struct gsm_trans *trans, void *arg);
static int gsm48_rel_null_free(struct gsm_trans *trans);
int mncc_release_ind(struct osmocom_ms *ms, struct gsm_trans *trans,
diff --git a/src/host/layer23/src/mobile/mncc_sock.c b/src/host/layer23/src/mobile/mncc_sock.c
index 1e239428..73159270 100644
--- a/src/host/layer23/src/mobile/mncc_sock.c
+++ b/src/host/layer23/src/mobile/mncc_sock.c
@@ -252,13 +252,13 @@ static int mncc_sock_accept(struct osmo_fd *bfd, unsigned int flags)
}
-struct mncc_sock_state *mncc_sock_init(void *inst, const char *name, void *tall_ctx)
+struct mncc_sock_state *mncc_sock_init(void *inst, const char *name)
{
struct mncc_sock_state *state;
struct osmo_fd *bfd;
int rc;
- state = talloc_zero(tall_ctx, struct mncc_sock_state);
+ state = talloc_zero(inst, struct mncc_sock_state);
if (!state)
return NULL;
diff --git a/src/host/layer23/src/mobile/mnccms.c b/src/host/layer23/src/mobile/mnccms.c
index d364ca34..b8c25581 100644
--- a/src/host/layer23/src/mobile/mnccms.c
+++ b/src/host/layer23/src/mobile/mnccms.c
@@ -32,7 +32,6 @@
#include <osmocom/bb/mobile/mncc.h>
#include <osmocom/bb/mobile/vty.h>
-void *l23_ctx;
static uint32_t new_callref = 1;
static LLIST_HEAD(call_list);
@@ -287,7 +286,7 @@ int mncc_recv_mobile(struct osmocom_ms *ms, int msg_type, void *arg)
if (!call) {
if (llist_empty(&call_list))
first_call = 1;
- call = talloc_zero(l23_ctx, struct gsm_call);
+ call = talloc_zero(ms, struct gsm_call);
if (!call)
return -ENOMEM;
call->ms = ms;
@@ -551,7 +550,7 @@ int mncc_call(struct osmocom_ms *ms, char *number)
}
}
- call = talloc_zero(l23_ctx, struct gsm_call);
+ call = talloc_zero(ms, struct gsm_call);
if (!call)
return -ENOMEM;
call->ms = ms;
diff --git a/src/host/layer23/src/mobile/subscriber.c b/src/host/layer23/src/mobile/subscriber.c
index 455db506..d332a077 100644
--- a/src/host/layer23/src/mobile/subscriber.c
+++ b/src/host/layer23/src/mobile/subscriber.c
@@ -36,8 +36,6 @@
* if list is changed, the result is not written back to SIM */
//#define TEST_EMPTY_FPLMN
-void *l23_ctx;
-
static void subscr_sim_query_cb(struct osmocom_ms *ms, struct msgb *msg);
static void subscr_sim_update_cb(struct osmocom_ms *ms, struct msgb *msg);
static void subscr_sim_key_cb(struct osmocom_ms *ms, struct msgb *msg);
@@ -400,7 +398,7 @@ static int subscr_sim_plmnsel(struct osmocom_ms *ms, uint8_t *data,
break;
/* add to list */
- plmn = talloc_zero(l23_ctx, struct gsm_sub_plmn_list);
+ plmn = talloc_zero(ms, struct gsm_sub_plmn_list);
if (!plmn)
return -ENOMEM;
lai[0] = data[0];
@@ -504,7 +502,7 @@ static int subscr_sim_fplmn(struct osmocom_ms *ms, uint8_t *data,
break;
/* add to list */
- na = talloc_zero(l23_ctx, struct gsm_sub_plmn_na);
+ na = talloc_zero(ms, struct gsm_sub_plmn_na);
if (!na)
return -ENOMEM;
lai[0] = data[0];
@@ -1119,7 +1117,7 @@ int gsm_subscr_add_forbidden_plmn(struct gsm_subscriber *subscr, uint16_t mcc,
LOGP(DPLMN, LOGL_INFO, "Add to list of forbidden PLMNs "
"(mcc=%s, mnc=%s)\n", gsm_print_mcc(mcc), gsm_print_mnc(mnc));
- na = talloc_zero(l23_ctx, struct gsm_sub_plmn_na);
+ na = talloc_zero(subscr->ms, struct gsm_sub_plmn_na);
if (!na)
return -ENOMEM;
na->mcc = mcc;
diff --git a/src/host/layer23/src/mobile/transaction.c b/src/host/layer23/src/mobile/transaction.c
index 45bf2b41..9824bd1b 100644
--- a/src/host/layer23/src/mobile/transaction.c
+++ b/src/host/layer23/src/mobile/transaction.c
@@ -30,8 +30,6 @@
#include <osmocom/bb/mobile/mncc.h>
#include <osmocom/bb/mobile/transaction.h>
-extern void *l23_ctx;
-
void _gsm48_cc_trans_free(struct gsm_trans *trans);
void _gsm480_ss_trans_free(struct gsm_trans *trans);
void _gsm411_sms_trans_free(struct gsm_trans *trans);
@@ -67,7 +65,7 @@ struct gsm_trans *trans_alloc(struct osmocom_ms *ms,
{
struct gsm_trans *trans;
- trans = talloc_zero(l23_ctx, struct gsm_trans);
+ trans = talloc_zero(ms, struct gsm_trans);
if (!trans)
return NULL;
diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c
index 0f271941..06f66b59 100644
--- a/src/host/layer23/src/mobile/vty_interface.c
+++ b/src/host/layer23/src/mobile/vty_interface.c
@@ -43,8 +43,6 @@
#include <osmocom/vty/telnet_interface.h>
#include <osmocom/vty/misc.h>
-void *l23_ctx;
-
int mncc_call(struct osmocom_ms *ms, char *number);
int mncc_hangup(struct osmocom_ms *ms);
int mncc_answer(struct osmocom_ms *ms);
@@ -2104,7 +2102,7 @@ DEFUN(cfg_abbrev, cfg_ms_abbrev_cmd, "abbrev ABBREVIATION NUMBER [NAME]",
if (vty_check_number(vty, argv[1]))
return CMD_WARNING;
- abbrev = talloc_zero(l23_ctx, struct gsm_settings_abbrev);
+ abbrev = talloc_zero(ms, struct gsm_settings_abbrev);
if (!abbrev) {
vty_out(vty, "No Memory!%s", VTY_NEWLINE);
return CMD_WARNING;