aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-08-25 09:15:40 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2013-01-15 11:27:28 +0100
commitbaa1a2df2086b1c920053c1aaa6062929f2256e4 (patch)
tree459c5b99e0156aae75f9f5b6e01c97467d048065
parented0374ffebd502677dedea39ba18ccb95ed4c652 (diff)
bsc: Do not re-start the grace timer when we are in the grace period
-rw-r--r--openbsc/src/libbsc/bsc_rf_ctrl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/openbsc/src/libbsc/bsc_rf_ctrl.c b/openbsc/src/libbsc/bsc_rf_ctrl.c
index 2f39f4346..2744666b7 100644
--- a/openbsc/src/libbsc/bsc_rf_ctrl.c
+++ b/openbsc/src/libbsc/bsc_rf_ctrl.c
@@ -239,6 +239,11 @@ static void grace_timeout(void *_data)
static int enter_grace(struct osmo_bsc_rf *rf)
{
+ if (osmo_timer_pending(&rf->grace_timeout)) {
+ LOGP(DLINP, LOGL_NOTICE, "RF Grace timer is pending. Not restarting.\n");
+ return 0;
+ }
+
rf->grace_timeout.cb = grace_timeout;
rf->grace_timeout.data = rf;
osmo_timer_schedule(&rf->grace_timeout, rf->gsm_network->bsc_data->mid_call_timeout, 0);