diff options
author | Harald Welte <laforge@gnumonks.org> | 2012-07-02 21:53:32 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2012-07-05 15:31:05 +0200 |
commit | 5f8a3149fe6a80e3aa73c4f99808d418f52e9f01 (patch) | |
tree | 83492f2880125100c79de39222f0b1ae4279bc0e /src/osmo-bts-sysmo/oml.c | |
parent | eda6c2636031eedfb701011a3882d4ca54228ad6 (diff) |
sysmobts: avoid sending duplicate RSL CHAN ACT ACK
This is just an intermediary hack, until we get proper lchan manager
threads...
Diffstat (limited to 'src/osmo-bts-sysmo/oml.c')
-rw-r--r-- | src/osmo-bts-sysmo/oml.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index b1b0aa13..2a9b0a34 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -467,9 +467,12 @@ static int lchan_act_compl_cb(struct msgb *l1_msg, void *data) case GsmL1_Sapi_TchF: case GsmL1_Sapi_TchH: time = bts_model_get_time(lchan->ts->trx->bts); - if (lchan->state == LCHAN_S_ACTIVE) - rsl_tx_chan_act_ack(lchan, time); - else + if (lchan->state == LCHAN_S_ACTIVE) { + /* Hack: we simply only use one direction to + * avoid sending two ACKs for one activate */ + if (ic->dir == GsmL1_Dir_TxDownlink) + rsl_tx_chan_act_ack(lchan, time); + } else rsl_tx_chan_act_nack(lchan, RSL_ERR_EQUIPMENT_FAIL); break; default: |