aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-09-17 21:07:35 +0200
committerHarald Welte <laforge@gnumonks.org>2018-09-17 21:36:54 +0200
commit3941cf44795f928046968036b180e478b7725ac8 (patch)
tree762e78acad899072b4de16376c176bd4de5fb3fa
parent7c82b4a872960b8f0cb45c6ffec509b854c73f2f (diff)
CBCH: Fix CBCH via L1SAP for osmo-bts-{sysmo,octphy,litecell15}
This fixes a bug introduced in "CBCH: Move processing via L1SAP" commit 02d99db08b13589e1417c3448a07747f8805ba88 Author: Harald Welte <laforge@gnumonks.org> Date: Fri Aug 24 23:37:45 2018 +0200 where the full channel number 0xc8 was used instead of the (right-shifted) C-bits only. Change-Id: I0fd8d7762e9cc3319a534f261e8857a1aa2220e0
-rw-r--r--src/osmo-bts-litecell15/l1_if.c4
-rw-r--r--src/osmo-bts-octphy/l1_if.c4
-rw-r--r--src/osmo-bts-sysmo/l1_if.c4
3 files changed, 9 insertions, 3 deletions
diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c
index 82299ff4..4093225f 100644
--- a/src/osmo-bts-litecell15/l1_if.c
+++ b/src/osmo-bts-litecell15/l1_if.c
@@ -383,6 +383,8 @@ static int ph_data_req(struct gsm_bts_trx *trx, struct msgb *msg,
sapi = GsmL1_Sapi_Sdcch;
} else if (L1SAP_IS_CHAN_BCCH(chan_nr)) {
sapi = GsmL1_Sapi_Bcch;
+ } else if (L1SAP_IS_CHAN_CBCH(chan_nr)) {
+ sapi = GsmL1_Sapi_Cbch;
} else if (L1SAP_IS_CHAN_AGCH_PCH(chan_nr)) {
/* The sapi depends on DSP configuration, not
* on the actual SYSTEM INFORMATION 3. */
@@ -700,7 +702,7 @@ static uint8_t chan_nr_by_sapi(struct gsm_bts_trx_ts *ts,
cbits = 0x10;
break;
case GsmL1_Sapi_Cbch:
- cbits = 0xc8; /* Osmocom extension for CBCH via L1SAP */
+ cbits = 0xc8 >> 3; /* Osmocom extension for CBCH via L1SAP */
break;
case GsmL1_Sapi_Sacch:
switch(pchan) {
diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c
index 35d0aa33..40d5300d 100644
--- a/src/osmo-bts-octphy/l1_if.c
+++ b/src/osmo-bts-octphy/l1_if.c
@@ -357,7 +357,7 @@ static uint8_t chan_nr_by_sapi(struct gsm_bts_trx_ts *ts,
cbits = 0x10;
break;
case cOCTVC1_GSM_SAPI_ENUM_CBCH:
- cbits = 0xc8; /* Osmocom extension for CBCH via L1SAP */
+ cbits = 0xc8 >> 3; /* Osmocom extension for CBCH via L1SAP */
break;
case cOCTVC1_GSM_SAPI_ENUM_SACCH:
switch (pchan) {
@@ -517,6 +517,8 @@ static int ph_data_req(struct gsm_bts_trx *trx, struct msgb *msg,
sapi = cOCTVC1_GSM_SAPI_ENUM_SDCCH;
} else if (L1SAP_IS_CHAN_BCCH(chan_nr)) {
sapi = cOCTVC1_GSM_SAPI_ENUM_BCCH;
+ } else if (L1SAP_IS_CHAN_CBCH(chan_nr)) {
+ sapi = cOCTVC1_GSM_SAPI_ENUM_CBCH;
} else if (L1SAP_IS_CHAN_AGCH_PCH(chan_nr)) {
sapi = cOCTVC1_GSM_SAPI_ENUM_PCH_AGCH;
} else {
diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c
index c0b42b42..372e3322 100644
--- a/src/osmo-bts-sysmo/l1_if.c
+++ b/src/osmo-bts-sysmo/l1_if.c
@@ -380,6 +380,8 @@ static int ph_data_req(struct gsm_bts_trx *trx, struct msgb *msg,
sapi = GsmL1_Sapi_Sdcch;
} else if (L1SAP_IS_CHAN_BCCH(chan_nr)) {
sapi = GsmL1_Sapi_Bcch;
+ } else if (L1SAP_IS_CHAN_CBCH(chan_nr)) {
+ sapi = GsmL1_Sapi_Cbch;
} else if (L1SAP_IS_CHAN_AGCH_PCH(chan_nr)) {
/* The sapi depends on DSP configuration, not
* on the actual SYSTEM INFORMATION 3. */
@@ -697,7 +699,7 @@ static uint8_t chan_nr_by_sapi(struct gsm_bts_trx_ts *ts,
cbits = 0x10;
break;
case GsmL1_Sapi_Cbch:
- cbits = 0xc8; /* Osmocom extension for CBCH via L1SAP */
+ cbits = 0xc8 >> 3; /* Osmocom extension for CBCH via L1SAP */
break;
case GsmL1_Sapi_Sacch:
switch(pchan) {