diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-06-16 12:52:28 +0800 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-06-16 15:42:21 +0800 |
commit | 01288435919b0f5f201dbf41cbff3745cc18f3db (patch) | |
tree | 001840e41c200a81784cf90be7b6f7aa66d3288e /openbsc/src/gsm_04_08.c | |
parent | 228c1059fd323f0c6d95d0b64d698e3d8bff9a55 (diff) |
gsm48: Release the "operation" after sending out data...
* With an immediate release we would release the lchan
before sending the data... change it.
Diffstat (limited to 'openbsc/src/gsm_04_08.c')
-rw-r--r-- | openbsc/src/gsm_04_08.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/openbsc/src/gsm_04_08.c b/openbsc/src/gsm_04_08.c index 0574532d0..b9249f295 100644 --- a/openbsc/src/gsm_04_08.c +++ b/openbsc/src/gsm_04_08.c @@ -250,7 +250,6 @@ static int _gsm0408_authorize_sec_cb(unsigned int hooknum, unsigned int event, case GSM_SECURITY_SUCCEEDED: /* We're all good */ db_subscriber_alloc_tmsi(conn->subscr); - release_loc_updating_req(conn); rc = gsm0408_loc_upd_acc(conn, conn->subscr->tmsi); if (conn->bts->network->send_mm_info) { /* send MM INFO with network name */ @@ -264,8 +263,8 @@ static int _gsm0408_authorize_sec_cb(unsigned int hooknum, unsigned int event, GSM_SUBSCRIBER_UPDATE_ATTACHED); /* try to close channel ASAP */ + release_loc_updating_req(conn); lchan_auto_release(conn->lchan); - break; default: @@ -427,8 +426,8 @@ static void loc_upd_rej_cb(void *data) struct gsm_lchan *lchan = conn->lchan; struct gsm_bts *bts = lchan->ts->trx->bts; - release_loc_updating_req(conn); gsm0408_loc_upd_rej(conn, bts->network->reject_cause); + release_loc_updating_req(conn); lchan_auto_release(lchan); } |