diff options
authorPhilipp Maier <pmaier@sysmocom.de>2017-03-09 16:07:45 +0100
committerHarald Welte <laforge@gnumonks.org>2017-03-15 13:37:55 +0000
commit339b9329ff7be01d03c3a55301e1ef1a2ea57953 (patch)
parent9dfdf54d30079146627105c7f764e16d486559ba (diff)
l1sap: fix rach reason (ra) parsing
The ra parameter indicates the reason for the received rach request. osmo-bts uses the ra parameter to determine if the received rach request is packet access related. If yes, osmo-bts will forward the request to the PCU. In order to determine if the ra is packet related or not, the higher 4 bits must be equel to 0x7 and at least one of the lower 4 bits must be zero. The current method lacks checking of the lower 4 bits. It would also accept 0b01111111, which is reserved for future use. This commit extends the check to take also the last 4 bits into accound. See also: 3GPP TS 04.08, Table 9.9 Change-Id: I5eb88c42a91e158d9bfa4105ec9636035baf8959
1 files changed, 1 insertions, 1 deletions
diff --git a/include/osmo-bts/l1sap.h b/include/osmo-bts/l1sap.h
index dcebc1d8..0e564068 100644
--- a/include/osmo-bts/l1sap.h
+++ b/include/osmo-bts/l1sap.h
@@ -24,7 +24,7 @@
#define L1SAP_IS_CHAN_AGCH_PCH(chan_nr) ((chan_nr & 0xf8) == 0x90)
/* rach type from ra */
-#define L1SAP_IS_PACKET_RACH(ra) ((ra & 0xf0) == 0x70)
+#define L1SAP_IS_PACKET_RACH(ra) ((ra & 0xf0) == 0x70 && (ra & 0x0f) != 0x0f)
/* CCCH block from frame number */
#define L1SAP_FN2CCCHBLOCK(fn) ((fn % 51) / 5 - 1)