diff options
author | Max <msuraev@sysmocom.de> | 2017-05-29 16:23:02 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-06-09 09:00:04 +0000 |
commit | d22b5b84c0ac656da47d7bc83e9a4b954d766ed6 (patch) | |
tree | 34474ab557ec287163eeb28ed8ae2c76ec5ccdd9 | |
parent | d5fdcfe6d95f52fb76c4f4201969347a062fc9fd (diff) |
Re-add version to phy_instance
This is resubmission of 9eeb0b1a136fc8c24a86cb4d832c264674c10db0 with
errorneous use of talloc_asprintf() removed which should fix OS#2316.
Change-Id: I02ae6fffdc808c1ea14185dbb4a720d27a62d4bb
Related: OS#1614
-rw-r--r-- | include/osmo-bts/phy_link.h | 2 | ||||
-rw-r--r-- | src/osmo-bts-octphy/l1_oml.c | 5 | ||||
-rw-r--r-- | src/osmo-bts-sysmo/l1_if.c | 4 |
3 files changed, 8 insertions, 3 deletions
diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index 2164dfa9..4c7ff348 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -76,7 +76,7 @@ struct phy_instance { struct llist_head list; int num; char *description; - + char version[MAX_VERSION_LENGTH]; /* pointer to the PHY link to which we belong */ struct phy_link *phy_link; diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index 4652e103..ccef2314 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -1140,14 +1140,14 @@ int l1if_check_app_sys_version(struct gsm_bts_trx *trx) LOGP(DL1C, LOGL_INFO, "Tx APP-INFO-SYSTEM.req\n"); - return l1if_req_compl(fl1h, msg, app_info_sys_compl_cb, 0); + return l1if_req_compl(fl1h, msg, app_info_sys_compl_cb, pinst); } static int app_info_compl_cb(struct octphy_hdl *fl1h, struct msgb *resp, void *data) { char ver_hdr[32]; - + struct phy_instance *pinst = data; tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP *air = (tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP *) resp->l2h; @@ -1171,6 +1171,7 @@ static int app_info_compl_cb(struct octphy_hdl *fl1h, struct msgb *resp, talloc_replace(fl1h->info.app.name, fl1h, air->szName); talloc_replace(fl1h->info.app.description, fl1h, air->szDescription); talloc_replace(fl1h->info.app.version, fl1h, air->szVersion); + osmo_strlcpy(pinst->version, ver_hdr, sizeof(pinst->version)); /* in a completion call-back, we take msgb ownership and must * release it before returning */ diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c index 60638e18..79fccd96 100644 --- a/src/osmo-bts-sysmo/l1_if.c +++ b/src/osmo-bts-sysmo/l1_if.c @@ -1875,6 +1875,10 @@ int bts_model_phy_link_open(struct phy_link *plink) hdl = pinst->u.sysmobts.hdl; osmo_strlcpy(bts->sub_model, sysmobts_model(hdl->hw_info.model_nr, hdl->hw_info.trx_nr), sizeof(bts->sub_model)); + snprintf(pinst->version, sizeof(pinst->version), "%u.%u dsp %u.%u.%u fpga %u.%u.%u", + hdl->hw_info.ver_major, hdl->hw_info.ver_minor, + hdl->hw_info.dsp_version[0], hdl->hw_info.dsp_version[1], hdl->hw_info.dsp_version[2], + hdl->hw_info.fpga_version[0], hdl->hw_info.fpga_version[1], hdl->hw_info.fpga_version[2]); phy_link_state_set(plink, PHY_LINK_CONNECTED); |