summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-05-09 16:31:16 +0200
committerHarald Welte <laforge@gnumonks.org>2018-05-09 16:33:42 +0200
commitb82a407a4924f51844c01e1627c3bb01db210c0f (patch)
treea7ff64036414510d0bb3d1ff826ae6a7147e36cc
parentf1bdf781aca6ee05d9475d260f9f1a5a81a25a03 (diff)
lapdm: don't enforce contention resolution on SAPI0/DCCH
In Change-Id: I8c2c103cdc7f9a45d7b2080c572f559fc3db58e4 we introduced a check to enforce contention resolution always being used in MS-originated LAPDm establishment on the main DCCH / SAPI0. This is only required after RACH request (IMM.ASS.) and not after a normal assignment command which was sent already via a dedicated channel. Hence, we cannot enforce a strict requirement for contention resolution in those cases. We *could* use the RSL Channel Activation type as a constraint on whether or not to enforce contention-resoluiton-only LAPDm establishment, but this is out of the scope of the LAPDm code but would have to be done inside OsmoBTS. Related: OS#3252 Change-Id: Id903492ee90809fe98defcf4abc0419b8150069f
-rw-r--r--src/gsm/lapdm.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c
index b9e7304e..3a6fc5b5 100644
--- a/src/gsm/lapdm.c
+++ b/src/gsm/lapdm.c
@@ -552,16 +552,13 @@ static int lapdm_rx_not_permitted(const struct lapdm_entity *le,
return RLL_CAUSE_SABM_INFO_NOTALL;
} else {
switch (lctx->sapi) {
- case 0:
- /* SAPI0 must use contention resolution, i.e. L3 payload must exist */
- if (lctx->length == 0)
- return RLL_CAUSE_UFRM_INC_PARAM;
- break;
case 3:
/* SAPI3 doesn't support contention resolution */
if (lctx->length > 0)
return RLL_CAUSE_SABM_INFO_NOTALL;
break;
+ default:
+ break;
}
}
} else if (le->mode == LAPDM_MODE_MS) {