si: Fix range512 encoding
This patch fixes a bug in the range encoder that leads to wrong
encoding when 17 or more ARFCNs are encoded.
Sponsored-by: On-Waves ehf
diff --git a/openbsc/src/libbsc/arfcn_range_encode.c b/openbsc/src/libbsc/arfcn_range_encode.c
index c52743e..9177546 100644
--- a/openbsc/src/libbsc/arfcn_range_encode.c
+++ b/openbsc/src/libbsc/arfcn_range_encode.c
@@ -256,7 +256,7 @@
range512->w15 = HIGH_BITS(w, 15, 6, 6);
/* W(16) */
range512->w16_hi = HIGH_BITS(w, 16, 5, 2);
- range512->w16_lo = HIGH_BITS(w, 16, 5, 3);
+ range512->w16_lo = LOW_BITS(w, 16, 5, 3);
/* W(17) */
range512->w17 = HIGH_BITS(w, 17, 5, 5);