This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)".
The branch, master has been updated
via d5d39ae2b680c64c2dc616d6ca3886dac9092066 (commit)
via 423269f8035f107d5bc76e10cf17728fdbb3e2e4 (commit)
via baa6c5546e719757073fa97fcc4b1f0d32c39165 (commit)
via a0a08d80b8fe8712f24a222abca6a7f422c11417 (commit)
via d35fc4408c82193253e197aace9207fbe6d73b92 (commit)
via a2ef7d6477a2e3b026e56db78bbd407c67e61df1 (commit)
via b74a2c8e290e58a371c07b9d8a82872e54de6a2f (commit)
via cd150a8f7473347b17728d0797bc6464441dde9a (commit)
via 2ae305de46547c2c8424ab14d01f03bb4780ff39 (commit)
from 7130683ffee026b0907902f8f20091987281c7f8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cgit.osmocom.org/openbsc/commit/?id=d5d39ae2b680c64c2dc616d6ca3886da…
commit d5d39ae2b680c64c2dc616d6ca3886dac9092066
Author: Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
Date: Wed Aug 24 17:02:19 2016 +0200
log: rsl notice: tiny tweak for readability
Change-Id: I57c3b7d27d857c96e3fa3dacf7b766bc43100fc3
http://cgit.osmocom.org/openbsc/commit/?id=423269f8035f107d5bc76e10cf17728f…
commit 423269f8035f107d5bc76e10cf17728fdbb3e2e4
Author: Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
Date: Wed Aug 24 16:48:00 2016 +0200
log: improve for rsl_lchan_mark_broken()
In rsl_lchan_mark_broken(), call rsl_lchan_set_state() so the state transition
gets logged in the debug log.
Remove logging for the broken channel at the callers, instead log the error
actually in rsl_lchan_mark_broken() itself, with the reason message passed by
the caller anyway. (Removes code dup and ensures it's always logged.)
Change-Id: I54ae9bbd3f193bae7b1bda1fef3e33e62b353bf5
http://cgit.osmocom.org/openbsc/commit/?id=baa6c5546e719757073fa97fcc4b1f0d…
commit baa6c5546e719757073fa97fcc4b1f0d32c39165
Author: Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
Date: Wed Aug 24 14:48:39 2016 +0200
dyn TS: debug log: if still in use, also log lchan type and state
Change-Id: Ifbf31cde24b2d1022b7a472966c17959c96e6dda
http://cgit.osmocom.org/openbsc/commit/?id=a0a08d80b8fe8712f24a222abca6a7f4…
commit a0a08d80b8fe8712f24a222abca6a7f422c11417
Author: Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
Date: Wed Aug 24 14:42:58 2016 +0200
dyn TS: debug log 'switchover complete' only when there was a switchover
Change-Id: I7ddcb41edce1cd7b22fe91e33bdcaedb21856222
http://cgit.osmocom.org/openbsc/commit/?id=d35fc4408c82193253e197aace9207fb…
commit d35fc4408c82193253e197aace9207fbe6d73b92
Author: Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
Date: Wed Aug 24 17:02:37 2016 +0200
dyn TS: fix OS#1798: on late RF CHAN REL ACK, activate PDCH
Tested by hacking a REL ACK delay of a couple of seconds into osmo-bts' rsl.c
for the first TCH_H lchan:
[[[
diff --git a/include/osmo-bts/rsl.h b/include/osmo-bts/rsl.h
index 093e9cb..b35c3bb 100644
--- a/include/osmo-bts/rsl.h
+++ b/include/osmo-bts/rsl.h
@@ -22,6 +22,7 @@ int rsl_tx_est_ind(struct gsm_lchan *lchan, uint8_t link_id, uint8_t
*data, int
int rsl_tx_chan_act_acknack(struct gsm_lchan *lchan, uint8_t cause);
int rsl_tx_conn_fail(struct gsm_lchan *lchan, uint8_t cause);
int rsl_tx_rf_rel_ack(struct gsm_lchan *lchan);
+int rsl_tx_rf_rel_ack_later(struct gsm_lchan *lchan);
int rsl_tx_hando_det(struct gsm_lchan *lchan, uint8_t *ho_delay);
/* call-back for LAPDm code, called when it wants to send msgs UP */
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 3802e25..1f92b0d 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -491,7 +491,16 @@ static int l1sap_info_rel_cnf(struct gsm_bts_trx *trx,
lchan = get_lchan_by_chan_nr(trx, info_act_cnf->chan_nr);
- rsl_tx_rf_rel_ack(lchan);
+ static int yyy = 0;
+
+ DEBUGP(DRSL, "%s YYYYYYYYYYYYYYYYYYYYY %d %s\n",
+ gsm_lchan_name(lchan), yyy, gsm_lchant_name(lchan->type));
+
+ if (lchan->type == GSM_LCHAN_TCH_H && !yyy) {
+ yyy ++;
+ rsl_tx_rf_rel_ack_later(lchan);
+ } else
+ rsl_tx_rf_rel_ack(lchan);
/* During PDCH DEACT, this marks the deactivation of the PDTCH as
* requested by the PCU. Next up, we disconnect the TS completely and
diff --git a/src/common/rsl.c b/src/common/rsl.c
index 3c97af9..7926f21 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -534,6 +534,22 @@ int rsl_tx_rf_rel_ack(struct gsm_lchan *lchan)
return abis_bts_rsl_sendmsg(msg);
}
+struct osmo_timer_list yyy_timer;
+
+static void yyy_timer_cb(void *data)
+{
+ rsl_tx_rf_rel_ack(data);
+}
+
+int rsl_tx_rf_rel_ack_later(struct gsm_lchan *lchan)
+{
+ yyy_timer.cb = yyy_timer_cb;
+ yyy_timer.data = lchan;
+ osmo_timer_schedule(&yyy_timer, 10, 0);
+ return 0;
+}
+
+
/* 8.4.2 sending CHANnel ACTIVation ACKnowledge */
static int rsl_tx_chan_act_ack(struct gsm_lchan *lchan)
{
]]]
Change-Id: I87e07e1d54882f8f3d667fa300c6e3679f5c920d
Fixes: OS#1798
http://cgit.osmocom.org/openbsc/commit/?id=a2ef7d6477a2e3b026e56db78bbd407c…
commit a2ef7d6477a2e3b026e56db78bbd407c67e61df1
Author: Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
Date: Wed Aug 24 16:57:31 2016 +0200
dyn TS: fix: properly run an lchan activation timeout
Actually schedule an activation timer for the activation part of a dyn TS
switchover. It needs to be restarted because the channel release procedure in
the first part of a switchover actually removes the activation timer.
Change-Id: Ibf50d13ba10298464a8b07e34716763161438990
http://cgit.osmocom.org/openbsc/commit/?id=b74a2c8e290e58a371c07b9d8a82872e…
commit b74a2c8e290e58a371c07b9d8a82872e54de6a2f
Author: Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
Date: Wed Aug 24 16:57:31 2016 +0200
dyn TS: clearly use lchan[0], fixing minor confusion
The dyn_ts_switchover_*() functions made the impression that they act on a
specific lchan of a timeslot. The assumption that we would remember to use e.g.
lchan[1] across a PDCH deactivation is brain damaged to begin with; and
factually we always use lchan[0] anyway (the only case for using lchan[1] would
be when switching to TCH/H, but the channel allocator will always return
lchan[0] for that).
Instead of the brain damaged lchan args, use a ts arg across all
dyn_ts_switchover_*() functions, with one exception: The
dyn_ts_switchover_complete() actually receives an RSL activation ack message on
a specific lchan and needs to evaluate its lchan type. This will always be
lchan[0] as it is now, but we should stick with the lchan the message was sent
for.
For PDCH, a check to use lchan[0] already existed, when composing the ACT
message in rsl_chan_activate_lchan_as_pdch(). Replace with an assertion.
Adjust all callers to pass ts instead of lchan.
In dyn_ts_switchover_start(), there was a dead code check that jumps to
switchover_complete() in case the pchan already matches. This never hits,
because we only call dyn_ts_switchover_start() when pchans mismatch. So avoid
guessing at passing lchan[0] to dyn_ts_switchover_complete() by not calling it
at all but logging an error instead.
In rsl_chan_activate_lchan(), we remember some values before going into
switchover from PDCH. Explicitly store them in lchan[0], because after a PDCH
release we have always and will activate no other than lchan[0].
In dyn_ts_switchover_continue(), move the check for any existing lchan->rqd_ref
further above, and more correctly check all lchans that were so far valid on
the TS, instead of just one.
This partly prepares for a subsequent commit to fix the act_timer use for dyn
TS: with the old lchan arg, we might schedule an activation timer on lchan[1]
but receive an ack on lchan[0] (for PDCH), leading to an act_timer expiry.
Change-Id: I3f5d48a9bdaa49a42a1908d4a03744638c59796a
http://cgit.osmocom.org/openbsc/commit/?id=cd150a8f7473347b17728d0797bc6464…
commit cd150a8f7473347b17728d0797bc6464441dde9a
Author: Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
Date: Wed Aug 24 14:45:44 2016 +0200
dyn TS: fix error recovery: switch to PDCH after lchan error state
Tested by hacking a CHAN ACT ACK delay of a couple of seconds into osmo-bts'
rsl.c for the first TCH_H lchan:
[[[
diff --git a/src/common/rsl.c b/src/common/rsl.c
index 3c97af9..4bfd27a 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -559,6 +559,22 @@ static int rsl_tx_chan_act_ack(struct gsm_lchan *lchan)
return abis_bts_rsl_sendmsg(msg);
}
+struct osmo_timer_list xxx_timer;
+
+static void xxx_timer_cb(void *data)
+{
+ rsl_tx_chan_act_ack(data);
+}
+
+static int rsl_tx_chan_act_ack_later(struct gsm_lchan *lchan)
+{
+ xxx_timer.cb = xxx_timer_cb;
+ xxx_timer.data = lchan;
+ osmo_timer_schedule(&xxx_timer, 10, 0);
+ return 0;
+}
+
+
/* 8.4.7 sending HANDOver DETection */
int rsl_tx_hando_det(struct gsm_lchan *lchan, uint8_t *ho_delay)
{
@@ -614,6 +630,18 @@ int rsl_tx_chan_act_acknack(struct gsm_lchan *lchan, uint8_t
cause)
if (cause)
return rsl_tx_chan_act_nack(lchan, cause);
+
+ static int xxx = 0;
+
+ DEBUGP(DRSL, "%s XXXXXXXXXXXXXXXXXXXXX %d %s\n",
+ gsm_lchan_name(lchan), xxx, gsm_lchant_name(lchan->type));
+
+ if (lchan->type == GSM_LCHAN_TCH_H) {
+ if (!xxx) {
+ xxx ++;
+ return rsl_tx_chan_act_ack_later(lchan);
+ }
+ }
return rsl_tx_chan_act_ack(lchan);
}
]]]
Change-Id: Ie82dec9c9fefc476fdf5b5afdad2246b9d6fe304
http://cgit.osmocom.org/openbsc/commit/?id=2ae305de46547c2c8424ab14d01f03bb…
commit 2ae305de46547c2c8424ab14d01f03bb4780ff39
Author: Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
Date: Wed Aug 24 14:44:11 2016 +0200
dyn TS: move check whether to switch to PDCH to separate function
Prepares for an upcoming commit using the same check in error_timeout_cb().
Change-Id: I8abfa964631040f798212cc3e360f67f9e09b7c5
-----------------------------------------------------------------------
Summary of changes:
openbsc/include/openbsc/abis_rsl.h | 2 +-
openbsc/src/libbsc/abis_rsl.c | 175 +++++++++++++++++++++++--------------
openbsc/src/libbsc/bsc_dyn_ts.c | 2 +-
3 files changed, 109 insertions(+), 70 deletions(-)
hooks/post-receive
--
The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)