aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs/gprs_gmm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gprs/gprs_gmm.c')
-rw-r--r--src/gprs/gprs_gmm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c
index 28fba7151..93d64a4be 100644
--- a/src/gprs/gprs_gmm.c
+++ b/src/gprs/gprs_gmm.c
@@ -1933,6 +1933,13 @@ static int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg,
if (gh->msg_type == GSM48_MT_GMM_DETACH_ACK)
return gprs_llgmm_unassign(llme);
+ /* Don't reply to deatch requests, reason power off */
+ if (gh->msg_type == GSM48_MT_GMM_DETACH_REQ &&
+ gh->data[0] & 0x8) {
+ return 0;
+ }
+
+
gprs_llgmm_reset(llme);
/* Don't force it into re-attachment */