jolly has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/34789?usp=email ) ( 1 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: ASCI: Ignore cell selection event during group receive mode ...................................................................... ASCI: Ignore cell selection event during group receive mode Cell selection is not supported during group receive mode. If it happens anyway, give an error message and select correct sub-state. This fixes I05957182a57423ad947ab200b52f65fde859e110. Related: OS#5364 and OS#6214 Change-Id: Iea6fe623956003130000c59ec0e1b24b3177052d --- M src/host/layer23/src/mobile/gsm48_mm.c 1 file changed, 26 insertions(+), 13 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/host/layer23/src/mobile/gsm48_mm.c b/src/host/layer23/src/mobile/gsm48_mm.c index 0cf1fee..afc83f7 100644 --- a/src/host/layer23/src/mobile/gsm48_mm.c +++ b/src/host/layer23/src/mobile/gsm48_mm.c @@ -1358,7 +1358,13 @@ struct gsm322_cellsel *cs = &ms->cellsel; struct gsm48_sysinfo *s = &cs->sel_si; struct gsm_settings *set = &ms->settings; - bool vgcs = mm->vgcs.enabled; + + if (mm->vgcs.enabled) { + LOGP(DMM, LOGL_ERROR, "Cell selection in group receive mode, this should not happen.\n"); + new_mm_state(mm, GSM48_MM_ST_MM_IDLE, (mm->vgcs.normal_service) ? GSM48_MM_SST_RX_VGCS_NORMAL + : GSM48_MM_SST_RX_VGCS_LIMITED); + return 0; + } /* no SIM is inserted */ if (!subscr->sim_valid) { @@ -1377,9 +1383,7 @@ struct msgb *nmsg; LOGP(DMM, LOGL_INFO, "Valid in location area.\n"); - new_mm_state(mm, GSM48_MM_ST_MM_IDLE, - (vgcs) ? GSM48_MM_SST_RX_VGCS_NORMAL - : GSM48_MM_SST_NORMAL_SERVICE); + new_mm_state(mm, GSM48_MM_ST_MM_IDLE, GSM48_MM_SST_NORMAL_SERVICE); /* send message to PLMN search process */ nmsg = gsm322_msgb_alloc(GSM322_EVENT_REG_SUCCESS); @@ -1393,9 +1397,7 @@ struct msgb *nmsg; LOGP(DMM, LOGL_INFO, "Attachment not required.\n"); - new_mm_state(mm, GSM48_MM_ST_MM_IDLE, - (vgcs) ? GSM48_MM_SST_RX_VGCS_NORMAL - : GSM48_MM_SST_NORMAL_SERVICE); + new_mm_state(mm, GSM48_MM_ST_MM_IDLE, GSM48_MM_SST_NORMAL_SERVICE); /* send message to PLMN search process */ nmsg = gsm322_msgb_alloc(GSM322_EVENT_REG_SUCCESS); @@ -1416,9 +1418,7 @@ struct msgb *nmsg; LOGP(DMM, LOGL_INFO, "Selected cell is forbidden.\n"); - new_mm_state(mm, GSM48_MM_ST_MM_IDLE, - (vgcs) ? GSM48_MM_SST_RX_VGCS_LIMITED - : GSM48_MM_SST_LIMITED_SERVICE); + new_mm_state(mm, GSM48_MM_ST_MM_IDLE, GSM48_MM_SST_LIMITED_SERVICE); /* send message to PLMN search process */ nmsg = gsm322_msgb_alloc(GSM322_EVENT_REG_FAILED); @@ -1438,9 +1438,7 @@ struct msgb *nmsg; LOGP(DMM, LOGL_INFO, "Selected cell not found.\n"); - new_mm_state(mm, GSM48_MM_ST_MM_IDLE, - (vgcs) ? GSM48_MM_SST_RX_VGCS_LIMITED - : GSM48_MM_SST_LIMITED_SERVICE); + new_mm_state(mm, GSM48_MM_ST_MM_IDLE, GSM48_MM_SST_LIMITED_SERVICE); /* send message to PLMN search process */ nmsg = gsm322_msgb_alloc(GSM322_EVENT_REG_FAILED); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34789?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iea6fe623956003130000c59ec0e1b24b3177052d Gerrit-Change-Number: 34789 Gerrit-PatchSet: 2 Gerrit-Owner: jolly <andreas@eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> Gerrit-Reviewer: jolly <andreas@eversberg.eu> Gerrit-Reviewer: laforge <laforge@osmocom.org> Gerrit-Reviewer: pespin <pespin@sysmocom.de> Gerrit-MessageType: merged