aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/rsl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/rsl.c')
-rw-r--r--src/common/rsl.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/common/rsl.c b/src/common/rsl.c
index cfdb19fd..1dc200d0 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -1182,10 +1182,13 @@ static int rsl_rx_rf_chan_rel(struct gsm_lchan *lchan, uint8_t chan_nr)
if (lchan->ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH
&& lchan->ts->dyn.pchan_is == GSM_PCHAN_PDCH) {
rc = dyn_ts_pdch_release(lchan);
- if (rc != 1)
- return rc;
- /* If the PCU is not connected, continue right away. */
- return rsl_tx_rf_rel_ack(lchan);
+ if (rc == 1) {
+ /* If the PCU is not connected, continue to rel ack right away. */
+ lchan->rel_act_kind = LCHAN_REL_ACT_PCU;
+ return rsl_tx_rf_rel_ack(lchan);
+ }
+ /* Waiting for PDCH release */
+ return rc;
}
l1sap_chan_rel(lchan->ts->trx, chan_nr);