summaryrefslogtreecommitdiffstats
path: root/src/host/layer23
diff options
context:
space:
mode:
authorAndreas.Eversberg2010-07-13 16:27:15 +0200
committerAndreas.Eversberg2010-07-13 16:27:15 +0200
commit5bbc44e9137fe57a75486692380f7588d01d90dc (patch)
treecd56e533a0ec698e30262e178c3cfbb0637f4a8a /src/host/layer23
parent[layer23] Rework of channel request process and control of TA and TX-power (diff)
downloadosmocom-5bbc44e9137fe57a75486692380f7588d01d90dc.tar.gz
osmocom-5bbc44e9137fe57a75486692380f7588d01d90dc.tar.xz
osmocom-5bbc44e9137fe57a75486692380f7588d01d90dc.zip
[layer23] Fixed ID.REQ for IMEI while no SIM is present.
Diffstat (limited to 'src/host/layer23')
-rw-r--r--src/host/layer23/src/gsm48_mm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/host/layer23/src/gsm48_mm.c b/src/host/layer23/src/gsm48_mm.c
index 4c00bbb..35bc004 100644
--- a/src/host/layer23/src/gsm48_mm.c
+++ b/src/host/layer23/src/gsm48_mm.c
@@ -1646,11 +1646,14 @@ static int gsm48_mm_rx_id_req(struct osmocom_ms *ms, struct msgb *msg)
"error.\n");
return -EINVAL;
}
+
/* id type */
mi_type = *gh->data;
+ LOGP(DMM, LOGL_INFO, "IDENTITY REQUEST (mi_type %d)\n", mi_type);
/* check if request can be fulfilled */
- if (!subscr->sim_valid) {
+ if (!subscr->sim_valid && mi_type != GSM_MI_TYPE_IMEI
+ && mi_type != GSM_MI_TYPE_IMEISV) {
LOGP(DMM, LOGL_INFO, "IDENTITY REQUEST without SIM\n");
return gsm48_mm_tx_mm_status(ms,
GSM48_REJECT_MSG_NOT_COMPATIBLE);
@@ -1661,7 +1664,6 @@ static int gsm48_mm_rx_id_req(struct osmocom_ms *ms, struct msgb *msg)
return gsm48_mm_tx_mm_status(ms,
GSM48_REJECT_MSG_NOT_COMPATIBLE);
}
- LOGP(DMM, LOGL_INFO, "IDENTITY REQUEST (mi_type %d)\n", mi_type);
return gsm48_mm_tx_id_rsp(ms, mi_type);
}