handover: lchan_free will only free the local resources.

lchan_free only free's the local resource of the BSC but
does not release the channel at the BTS. Use lchan_release
to properly release the channel. This code assumes that the
timeout happens after a CHAN ACT ACK/NACK otherwise we have
some problems. The comment indicates that this is the case.
This commit is contained in:
Holger Hans Peter Freyther 2010-06-30 13:04:13 +08:00
parent f2553a6c3a
commit d9c9f07c2c
1 changed files with 3 additions and 1 deletions

View File

@ -182,7 +182,9 @@ static void ho_T3103_cb(void *_ho)
DEBUGP(DHO, "HO T3103 expired\n");
counter_inc(net->stats.handover.timeout);
lchan_free(ho->new_lchan);
ho->new_lchan->conn->ho_lchan = NULL;
ho->new_lchan->conn = NULL;
lchan_release(ho->new_lchan, 0, 1);
llist_del(&ho->list);
talloc_free(ho);
}