aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/handover_logic.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/handover_logic.c')
-rw-r--r--openbsc/src/handover_logic.c5
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);