From 70eb683622f92c273c196a36daa61abd5de63f89 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Thu, 22 Nov 2018 14:55:13 +0700 Subject: Fix deprecated gsm_arfcn2band(), use gsm_arfcn2band_rc() Change-Id: I45aae70f4bc3f4f85d267dafb757debdef1bb7d7 --- src/osmo-bts-litecell15/utils.c | 5 ++++- src/osmo-bts-oc2g/oml.c | 10 ++++++++-- src/osmo-bts-oc2g/utils.c | 6 +++++- src/osmo-bts-sysmo/utils.c | 5 ++++- src/osmo-bts-trx/loops.c | 11 +++++------ 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); -- cgit v1.2.3