On 11/10/2014 03:57 PM, Holger Hans Peter Freyther wrote:
[...]
> a.) The lchan has been re-used and "old_lchan" is already for someone
> new.
> b.) We start the handover too early. E.g. while still trying to
> determine the subscriber?
> 
> diff --git a/openbsc/src/libbsc/handover_logic.c 
> b/openbsc/src/libbsc/handover_logic.c
> index 22f9883..d7e1a16 100644
> --- a/openbsc/src/libbsc/handover_logic.c
> +++ b/openbsc/src/libbsc/handover_logic.c
> @@ -93,6 +93,9 @@ int bsc_handover_start(struct gsm_lchan *old_lchan, struct 
> gsm_bts *bts)
>         if (bsc_ho_by_old_lchan(old_lchan))
>                 return -EBUSY;
>  
> +       if (!old_lchan->conn->subscr)
> +               return -EBUSY;
> +
>         DEBUGP(DHO, "(old_lchan on BTS %u, new BTS %u)\n",
>                 old_lchan->ts->trx->bts->nr, bts->nr);
> 
> 
> this would be a band-aid and it would be interesting if you still see
> the crash.
Thanks! I'll apply it to the current version we use, deploy it and see
if we still see the same issue.
Cheers

Ciaby


Reply via email to