openbsc.git branch master updated. 0.15.0-402-gd5d39ae

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-commitlog@lists.osmocom.org/.

gitosis at osmocom.org gitosis at osmocom.org
Sat Aug 27 02:24:03 UTC 2016


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=d5d39ae2b680c64c2dc616d6ca3886dac9092066

commit d5d39ae2b680c64c2dc616d6ca3886dac9092066
Author: Neels Hofmeyr <nhofmeyr at 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=423269f8035f107d5bc76e10cf17728fdbb3e2e4

commit 423269f8035f107d5bc76e10cf17728fdbb3e2e4
Author: Neels Hofmeyr <nhofmeyr at 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=baa6c5546e719757073fa97fcc4b1f0d32c39165

commit baa6c5546e719757073fa97fcc4b1f0d32c39165
Author: Neels Hofmeyr <nhofmeyr at 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=a0a08d80b8fe8712f24a222abca6a7f422c11417

commit a0a08d80b8fe8712f24a222abca6a7f422c11417
Author: Neels Hofmeyr <nhofmeyr at 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=d35fc4408c82193253e197aace9207fbe6d73b92

commit d35fc4408c82193253e197aace9207fbe6d73b92
Author: Neels Hofmeyr <nhofmeyr at 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=a2ef7d6477a2e3b026e56db78bbd407c67e61df1

commit a2ef7d6477a2e3b026e56db78bbd407c67e61df1
Author: Neels Hofmeyr <nhofmeyr at 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=b74a2c8e290e58a371c07b9d8a82872e54de6a2f

commit b74a2c8e290e58a371c07b9d8a82872e54de6a2f
Author: Neels Hofmeyr <nhofmeyr at 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=cd150a8f7473347b17728d0797bc6464441dde9a

commit cd150a8f7473347b17728d0797bc6464441dde9a
Author: Neels Hofmeyr <nhofmeyr at 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=2ae305de46547c2c8424ab14d01f03bb4780ff39

commit 2ae305de46547c2c8424ab14d01f03bb4780ff39
Author: Neels Hofmeyr <nhofmeyr at 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)



More information about the osmocom-commitlog mailing list