aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gb/gprs_ns.c4
-rw-r--r--tests/gb/gprs_ns_test.ok10
2 files changed, 8 insertions, 6 deletions
diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c
index 198ead19..0780f2bb 100644
--- a/src/gb/gprs_ns.c
+++ b/src/gb/gprs_ns.c
@@ -1413,8 +1413,10 @@ int gprs_ns_process_msg(struct gprs_ns_inst *nsi, struct msgb *msg,
/* Section 7.2: unblocking procedure */
LOGP(DNS, LOGL_INFO, "NSEI=%u Rx NS UNBLOCK\n", (*nsvc)->nsei);
ns_mark_unblocked(*nsvc);
- ns_osmo_signal_dispatch(*nsvc, S_NS_UNBLOCK, 0);
rc = gprs_ns_tx_simple(*nsvc, NS_PDUT_UNBLOCK_ACK);
+ if (rc < 0)
+ break;
+ ns_osmo_signal_dispatch(*nsvc, S_NS_UNBLOCK, 0);
break;
case NS_PDUT_UNBLOCK_ACK:
LOGP(DNS, LOGL_INFO, "NSEI=%u Rx NS UNBLOCK ACK\n", (*nsvc)->nsei);
diff --git a/tests/gb/gprs_ns_test.ok b/tests/gb/gprs_ns_test.ok
index 669e1824..3cb1dfcf 100644
--- a/tests/gb/gprs_ns_test.ok
+++ b/tests/gb/gprs_ns_test.ok
@@ -133,10 +133,10 @@ result (ALIVE) = 1
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1122/1.2.3.4:1111
MESSAGE to BSS, msg length 1
07
+==> got signal NS_UNBLOCK, NS-VC 0x1122/1.2.3.4:1111
result (UNBLOCK) = 1
PROCESSING ALIVE_ACK from 0x01020304:1111
@@ -277,10 +277,10 @@ result (ALIVE) = 1
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
MESSAGE to BSS, msg length 1
07
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:1111
result (UNBLOCK) = 1
PROCESSING ALIVE_ACK from 0x01020304:1111
@@ -318,10 +318,10 @@ result (ALIVE) = 1
PROCESSING UNBLOCK from 0x01020304:2222
06
-==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:2222
MESSAGE to BSS, msg length 1
07
+==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:2222
result (UNBLOCK) = 1
PROCESSING ALIVE_ACK from 0x01020304:2222
@@ -421,10 +421,10 @@ result (ALIVE) = 1
PROCESSING UNBLOCK from 0x01020304:1111
06
-==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:1111
MESSAGE to BSS, msg length 1
07
+==> got signal NS_UNBLOCK, NS-VC 0x2001/1.2.3.4:1111
result (UNBLOCK) = 1
PROCESSING ALIVE_ACK from 0x01020304:1111
@@ -597,10 +597,10 @@ result (ALIVE) = 1
PROCESSING UNBLOCK from 0x01020304:2222
06
-==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:2222
MESSAGE to BSS, msg length 1
07
+==> got signal NS_UNBLOCK, NS-VC 0x1001/1.2.3.4:2222
result (UNBLOCK) = 1
PROCESSING ALIVE_ACK from 0x01020304:2222