From b82a407a4924f51844c01e1627c3bb01db210c0f Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Wed, 9 May 2018 16:31:16 +0200 Subject: 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 --- src/gsm/lapdm.c | 7 ++----- 1 file 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) { -- cgit v1.2.3