diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-05-09 16:31:16 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-05-09 16:33:42 +0200 |
commit | b82a407a4924f51844c01e1627c3bb01db210c0f (patch) | |
tree | a7ff64036414510d0bb3d1ff826ae6a7147e36cc /src/gsm | |
parent | f1bdf781aca6ee05d9475d260f9f1a5a81a25a03 (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
Diffstat (limited to 'src/gsm')
-rw-r--r-- | src/gsm/lapdm.c | 7 |
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) { |