aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/transaction.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-12-29 17:09:07 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2011-01-06 14:52:53 +0100
commit49b3ed2226e43b4d8e8d85efafbdcce2ae7f362f (patch)
treea91130a17101190a900b05c5063baa2cd9ebd3a6 /openbsc/src/transaction.c
parent182c81f04e364a947c584c682ba443a3a51ea3f8 (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.c9
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)