diff options
Diffstat (limited to 'openbsc/src/handover_logic.c')
-rw-r--r-- | openbsc/src/handover_logic.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/openbsc/src/handover_logic.c b/openbsc/src/handover_logic.c index 68cdcba07..9da8baf91 100644 --- a/openbsc/src/handover_logic.c +++ b/openbsc/src/handover_logic.c @@ -88,6 +88,11 @@ int bsc_handover_start(struct gsm_lchan *old_lchan, struct gsm_bts *bts) static u_int8_t ho_ref; int rc; + /* don't attempt multiple handovers for the same lchan at + * the same time */ + if (bsc_ho_by_old_lchan(old_lchan)) + return -EBUSY; + DEBUGP(DHO, "(old_lchan on BTS %u, new BTS %u): ", old_lchan->ts->trx->bts->nr, bts->nr); |