aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2018-11-22 14:55:13 +0700
committerVadim Yanitskiy <axilirator@gmail.com>2018-11-22 15:30:46 +0700
commit70eb683622f92c273c196a36daa61abd5de63f89 (patch)
tree748937310c6458941e708a7ba453090cdd3ba16f
parent07af4e1751f9a190118213cd394da0cdcbcf3dab (diff)
Fix deprecated gsm_arfcn2band(), use gsm_arfcn2band_rc()
-rw-r--r--src/osmo-bts-litecell15/utils.c5
-rw-r--r--src/osmo-bts-oc2g/oml.c10
-rw-r--r--src/osmo-bts-oc2g/utils.c6
-rw-r--r--src/osmo-bts-sysmo/utils.c5
-rw-r--r--src/osmo-bts-trx/loops.c11
5 files changed, 26 insertions, 11 deletions
diff --git a/src/osmo-bts-litecell15/utils.c b/src/osmo-bts-litecell15/utils.c
index 8c3eb5a8..8d980ba8 100644
--- a/src/osmo-bts-litecell15/utils.c
+++ b/src/osmo-bts-litecell15/utils.c
@@ -82,6 +82,7 @@ int lc15bts_select_lc15_band(struct gsm_bts_trx *trx, uint16_t arfcn)
{
enum gsm_band band;
struct gsm_bts *bts = trx->bts;
+ int rc;
if (!bts->auto_band)
return band_osmo2lc15(trx, bts->band);
@@ -89,7 +90,9 @@ int lc15bts_select_lc15_band(struct gsm_bts_trx *trx, uint16_t arfcn)
/*
* We need to check what will happen now.
*/
- band = gsm_arfcn2band(arfcn);
+ rc = gsm_arfcn2band_rc(arfcn, &band);
+ if (rc) /* wrong ARFCN, give up */
+ return -1;
/* if we are already on the right band return */
if (band == bts->band)
diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c
index 65ebc1c9..f76de921 100644
--- a/src/osmo-bts-oc2g/oml.c
+++ b/src/osmo-bts-oc2g/oml.c
@@ -398,7 +398,7 @@ static int trx_init(struct gsm_bts_trx *trx)
struct msgb *msg;
GsmL1_MphInitReq_t *mi_req;
GsmL1_DeviceParam_t *dev_par;
- int oc2g_band;
+ int rc, oc2g_band;
if (!gsm_abis_mo_check_attr(&trx->mo, trx_rqd_attr,
ARRAY_SIZE(trx_rqd_attr))) {
@@ -409,7 +409,13 @@ static int trx_init(struct gsm_bts_trx *trx)
}
/* Update TRX band */
- trx->bts->band = gsm_arfcn2band(trx->arfcn);
+ rc = gsm_arfcn2band_rc(trx->arfcn, &trx->bts->band);
+ if (rc) {
+ /* FIXME: abort initialization? */
+ LOGP(DL1C, LOGL_ERROR, "Could not pick GSM band "
+ "for ARFCN %u\n", trx->arfcn);
+ trx->bts->band = 0x00;
+ }
oc2g_band = oc2gbts_select_oc2g_band(trx, trx->arfcn);
if (oc2g_band < 0) {
diff --git a/src/osmo-bts-oc2g/utils.c b/src/osmo-bts-oc2g/utils.c
index 28944390..cb65f45a 100644
--- a/src/osmo-bts-oc2g/utils.c
+++ b/src/osmo-bts-oc2g/utils.c
@@ -82,13 +82,17 @@ int oc2gbts_select_oc2g_band(struct gsm_bts_trx *trx, uint16_t arfcn)
{
enum gsm_band band;
struct gsm_bts *bts = trx->bts;
+ int rc;
+
if (!bts->auto_band)
return band_osmo2oc2g(trx, bts->band);
/*
* We need to check what will happen now.
*/
- band = gsm_arfcn2band(arfcn);
+ rc = gsm_arfcn2band_rc(arfcn, &band);
+ if (rc) /* wrong ARFCN, give up */
+ return -1;
/* if we are already on the right band return */
if (band == bts->band)
diff --git a/src/osmo-bts-sysmo/utils.c b/src/osmo-bts-sysmo/utils.c
index 7d1aca70..0e3ef273 100644
--- a/src/osmo-bts-sysmo/utils.c
+++ b/src/osmo-bts-sysmo/utils.c
@@ -80,6 +80,7 @@ int sysmobts_select_femto_band(struct gsm_bts_trx *trx, uint16_t arfcn)
{
enum gsm_band band;
struct gsm_bts *bts = trx->bts;
+ int rc;
if (!bts->auto_band)
return band_osmo2femto(trx, bts->band);
@@ -87,7 +88,9 @@ int sysmobts_select_femto_band(struct gsm_bts_trx *trx, uint16_t arfcn)
/*
* We need to check what will happen now.
*/
- band = gsm_arfcn2band(arfcn);
+ rc = gsm_arfcn2band_rc(arfcn, &band);
+ if (rc) /* wrong ARFCN, give up */
+ return -1;
/* if we are already on the right band return */
if (band == bts->band)
diff --git a/src/osmo-bts-trx/loops.c b/src/osmo-bts-trx/loops.c
index a959a71e..926b4c6f 100644
--- a/src/osmo-bts-trx/loops.c
+++ b/src/osmo-bts-trx/loops.c
@@ -33,8 +33,6 @@
#include "l1_if.h"
#include "loops.h"
-#define MS_PWR_DBM(arfcn, lvl) ms_pwr_dbm(gsm_arfcn2band(arfcn), lvl)
-
/*
* MS Power loop
*/
@@ -42,6 +40,7 @@
static int ms_power_diff(struct gsm_lchan *lchan, uint8_t chan_nr, int8_t diff)
{
struct gsm_bts_trx *trx = lchan->ts->trx;
+ enum gsm_band band = trx->bts->band;
uint16_t arfcn = trx->arfcn;
int8_t new_power;
@@ -72,7 +71,7 @@ static int ms_power_diff(struct gsm_lchan *lchan, uint8_t chan_nr, int8_t diff)
LOGP(DLOOP, LOGL_INFO, "Keeping MS new_power of trx=%u "
"chan_nr=0x%02x at control level %d (%d dBm)\n",
trx->nr, chan_nr, new_power,
- MS_PWR_DBM(arfcn, new_power));
+ ms_pwr_dbm(band, new_power));
return 0;
}
@@ -81,8 +80,8 @@ static int ms_power_diff(struct gsm_lchan *lchan, uint8_t chan_nr, int8_t diff)
"control level %d (%d dBm) to %d (%d dBm)\n",
(diff > 0) ? "Raising" : "Lowering",
trx->nr, chan_nr, lchan->ms_power_ctrl.current,
- MS_PWR_DBM(arfcn, lchan->ms_power_ctrl.current), new_power,
- MS_PWR_DBM(arfcn, new_power));
+ ms_pwr_dbm(band, lchan->ms_power_ctrl.current), new_power,
+ ms_pwr_dbm(band, new_power));
lchan->ms_power_ctrl.current = new_power;
@@ -158,7 +157,7 @@ static int ms_power_clock(struct gsm_lchan *lchan,
LOGP(DLOOP, LOGL_DEBUG, "Lowest RSSI: %d Target RSSI: %d Current "
"MS power: %d (%d dBm) of trx=%u chan_nr=0x%02x\n", rssi,
pinst->phy_link->u.osmotrx.trx_target_rssi, lchan->ms_power_ctrl.current,
- MS_PWR_DBM(trx->arfcn, lchan->ms_power_ctrl.current),
+ ms_pwr_dbm(trx->bts->band, lchan->ms_power_ctrl.current),
trx->nr, chan_nr);
ms_power_diff(lchan, chan_nr, pinst->phy_link->u.osmotrx.trx_target_rssi - rssi);