summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDieter Spaar <spaar@mirider.augusta.de>2011-07-27 23:40:33 +0200
committerHarald Welte <laforge@gnumonks.org>2011-07-27 23:40:33 +0200
commiteabb6e3e4f04ac65d541d3ac3c610b824ff7c6e6 (patch)
treeb33aabaf704df0b7f0ea9767fd61f8ae091748b8
parent1f447fbef1b1487a65261c3b1614ca1fa705a21a (diff)
RSL: Fix erroneous GSM48_IE_CHANDESC_2 in rsl_chan_activate_lchan()
This fixes a bug introduced more than one year ago in commit e38bd6caa34005816a9336f021fd17d328d5c901: The RSL_IE_CHAN_IDENT is a TLV, but the GSM48_IE_CHANDESC_2 contained in it, is a mere TV type IE with fixed length. The problem specifically has caused problems on Nokia MetroSite BTS, which apparently read the TSC out of this Layer3 IE.
-rw-r--r--openbsc/src/libbsc/abis_rsl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c
index 8356bd9a5..d74907b0a 100644
--- a/openbsc/src/libbsc/abis_rsl.c
+++ b/openbsc/src/libbsc/abis_rsl.c
@@ -427,7 +427,7 @@ int rsl_chan_activate_lchan(struct gsm_lchan *lchan, uint8_t act_type,
*/
msgb_v_put(msg, RSL_IE_CHAN_IDENT);
len = msgb_put(msg, 1);
- msgb_tlv_put(msg, GSM48_IE_CHANDESC_2, sizeof(cd), (const uint8_t *) &cd);
+ msgb_tv_fixed_put(msg, GSM48_IE_CHANDESC_2, sizeof(cd), (const uint8_t *) &cd);
if (lchan->ts->hopping.enabled)
msgb_tlv_put(msg, GSM48_IE_MA_AFTER, lchan->ts->hopping.ma_len,