Keith Whyte has uploaded this change for review. (
https://gerrit.osmocom.org/13811
Change subject: Echo XID-Field of Type L3_PAR even when zero length
......................................................................
Echo XID-Field of Type L3_PAR even when zero length
After Activate PDP Context request, Motorola KRZR
sends a zero length XID-Field of Type L3 Parameters
If this is not echoed back, the phone will send
Deactivate PDP Context request with SM Cause:
LLC or SNDCP failure(A/Gb only) (25)
Change-Id: Ibd75f7b943c84ed7264481fa2e4bc3cb2f6745d4
---
M src/gprs/gprs_llc.c
M src/gprs/gprs_sndcp.c
2 files changed, 15 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/11/13811/1
diff --git a/src/gprs/gprs_llc.c b/src/gprs/gprs_llc.c
index acf4b54..02455b1 100644
--- a/src/gprs/gprs_llc.c
+++ b/src/gprs/gprs_llc.c
@@ -256,11 +256,20 @@
struct gprs_llc_xid_field);
rc = sndcp_sn_xid_ind(xid_field,
xid_field_response, lle);
- if (rc == 0)
- llist_add(&xid_field_response->list,
- xid_fields_response);
- else
+ if (rc == 0) {
+ LOGP(DLLC, LOGL_NOTICE,
+ "Echoing XID-Field: XID: type %s,
data_len=%d, data=%s\n",
+
get_value_string(gprs_llc_xid_type_names,
+ xid_field->type),
+ xid_field->data_len,
+ osmo_hexdump_nospc(xid_field->data,
+
xid_field->data_len));
+ xid_field_response =
gprs_llc_dup_xid_field(lle->llme, xid_field);
+ llist_add(&xid_field_response->list,
xid_fields_response);
+ }
+ else {
talloc_free(xid_field_response);
+ }
}
}
diff --git a/src/gprs/gprs_sndcp.c b/src/gprs/gprs_sndcp.c
index 23d1e9a..33d8cf6 100644
--- a/src/gprs/gprs_sndcp.c
+++ b/src/gprs/gprs_sndcp.c
@@ -1125,6 +1125,8 @@
xid_field_indication->data,
xid_field_indication->data_len,
NULL);
+ if (comp_fields == NULL)
+ return 0;
if (!comp_fields)
return -EINVAL;
--
To view, visit https://gerrit.osmocom.org/13811
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-sgsn
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibd75f7b943c84ed7264481fa2e4bc3cb2f6745d4
Gerrit-Change-Number: 13811
Gerrit-PatchSet: 1
Gerrit-Owner: Keith Whyte <[email protected]>