diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-12-29 17:09:07 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2011-01-06 14:52:53 +0100 |
commit | 49b3ed2226e43b4d8e8d85efafbdcce2ae7f362f (patch) | |
tree | a91130a17101190a900b05c5063baa2cd9ebd3a6 /openbsc/src/transaction.c | |
parent | 182c81f04e364a947c584c682ba443a3a51ea3f8 (diff) |
subscr: Stop stopping paging requests behind the back of subscr
The transaction layer was stopping paging requests that might or
might not have been owned by the transaction. This makes the subscr
code get stuck delivering requests. This code is mostly a band aid
and just makes sure that we will kick the queue if it is needed.
Diffstat (limited to 'openbsc/src/transaction.c')
-rw-r--r-- | openbsc/src/transaction.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/openbsc/src/transaction.c b/openbsc/src/transaction.c index 09b6ad4a5..9b4af1aac 100644 --- a/openbsc/src/transaction.c +++ b/openbsc/src/transaction.c @@ -95,9 +95,12 @@ void trans_free(struct gsm_trans *trans) break; } - if (!trans->conn && trans->subscr && trans->subscr->net) { - /* Stop paging on all bts' */ - paging_request_stop(NULL, trans->subscr, NULL, NULL); + /* FIXME: implement a sane way to stop this. */ + if (!trans->conn && trans->paging_request) { + LOGP(DNM, LOGL_ERROR, + "Transaction freed while paging for sub: %llu\n", + trans->subscr->id); + trans->paging_request = NULL; } if (trans->subscr) |