From 339b9329ff7be01d03c3a55301e1ef1a2ea57953 Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Thu, 9 Mar 2017 16:07:45 +0100 Subject: 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 --- include/osmo-bts/l1sap.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) -- cgit v1.2.3