[MERGED] openbsc[master]: gprs_gmm.c: Perform LLME operations only if we have one

Message ID 20160602135440.F3D0B2221D@lists.osmocom.org
State New
Headers show

Commit Message

gerrit-no-reply@lists.osmocom.org June 2, 2016, 1:54 p.m.
Holger Freyther has submitted this change and it was merged.

Change subject: gprs_gmm.c: Perform LLME operations only if we have one
......................................................................


gprs_gmm.c: Perform LLME operations only if we have one

In case the GMM message did not arrive over a Gb interface, there is no
LLME (and thus the associated pointer is NULL).  Don't try to perform
operations on a NULL LLME.

Change-Id: If7f24161cd2826f8ee238d4bc1090adf555cea4e
---
M openbsc/src/gprs/gprs_gmm.c
1 file changed, 7 insertions(+), 5 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified

Patch

diff --git a/openbsc/src/gprs/gprs_gmm.c b/openbsc/src/gprs/gprs_gmm.c
index d521342..c8f687b 100644
--- a/openbsc/src/gprs/gprs_gmm.c
+++ b/openbsc/src/gprs/gprs_gmm.c
@@ -1208,10 +1208,12 @@ 
 	}
 
 	if (!mmctx) {
-		/* send a XID reset to re-set all LLC sequence numbers
-		 * in the MS */
-		LOGMMCTXP(LOGL_NOTICE, mmctx, "LLC XID RESET\n");
-		gprs_llgmm_reset(llme);
+		if (llme) {
+			/* send a XID reset to re-set all LLC sequence numbers
+			 * in the MS */
+			LOGMMCTXP(LOGL_NOTICE, mmctx, "LLC XID RESET\n");
+			gprs_llgmm_reset(llme);
+		}
 		/* The MS has to perform GPRS attach */
 		/* Device is still IMSI attached for CS but initiate GPRS ATTACH,
 		 * see GSM 04.08, 4.7.5.1.4 and G.6 */
@@ -1314,7 +1316,7 @@ 
 
 	/* MMCTX can be NULL when called */
 
-	if (!mmctx &&
+	if (llme && !mmctx &&
 	    gh->msg_type != GSM48_MT_GMM_ATTACH_REQ &&
 	    gh->msg_type != GSM48_MT_GMM_RA_UPD_REQ) {
 		LOGP(DMM, LOGL_NOTICE, "Cannot handle GMM for unknown MM CTX\n");