summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2009-12-28 11:45:43 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2009-12-28 11:45:43 +0100
commit326a632c462f0ac2f441075e3e1b92f81b9d4e0a (patch)
tree26899011bb6ea2adbe3f6a164e9ded32bc385dc9
parentc5dc0f7ac70041c58d219a983c20e5c755cd60f3 (diff)
[ipacess] Implement sw_load_end for the nanoBTS
* This should be shared with the sw_load_init routines as it is the about the same.
-rw-r--r--openbsc/src/abis_nm.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/openbsc/src/abis_nm.c b/openbsc/src/abis_nm.c
index 17e8d0f4c..db95f213c 100644
--- a/openbsc/src/abis_nm.c
+++ b/openbsc/src/abis_nm.c
@@ -1337,10 +1337,18 @@ static int sw_load_end(struct abis_nm_sw *sw)
sw->obj_instance[0], sw->obj_instance[1],
sw->obj_instance[2]);
- /* FIXME: this is BS11 specific format */
- msgb_tlv_put(msg, NM_ATT_FILE_ID, sw->file_id_len, sw->file_id);
- msgb_tlv_put(msg, NM_ATT_FILE_VERSION, sw->file_version_len,
- sw->file_version);
+ if (sw->bts->type == GSM_BTS_TYPE_NANOBTS) {
+ msgb_v_put(msg, NM_ATT_SW_DESCR);
+ msgb_tl16v_put(msg, NM_ATT_FILE_ID, sw->file_id_len, sw->file_id);
+ msgb_tl16v_put(msg, NM_ATT_FILE_VERSION, sw->file_version_len,
+ sw->file_version);
+ } else if (sw->bts->type == GSM_BTS_TYPE_BS11) {
+ msgb_tlv_put(msg, NM_ATT_FILE_ID, sw->file_id_len, sw->file_id);
+ msgb_tlv_put(msg, NM_ATT_FILE_VERSION, sw->file_version_len,
+ sw->file_version);
+ } else {
+ return -1;
+ }
return abis_nm_sendmsg(sw->bts, msg);
}