aboutsummaryrefslogtreecommitdiffstats
path: root/src/sysmo_sock.cpp
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-10-19 17:37:48 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-10-30 21:24:09 +0100
commit17b0d83a1f1a153b21b198f101294c8ed9e172ac (patch)
tree0cd522f1ed4ec659bddaf36eaff8623c94c3eeb5 /src/sysmo_sock.cpp
parentba5543fbf3f31819d63d4d6c019fe08893c32889 (diff)
pdch: Move enable/disable into the PDCH code
When a PDCH is disabled all resources should be freed. This is currently not possible as the PDCH does not know where it belongs to. On top of that the list (and other resources) should be properly initialized on construction so that disable() is idempotent and does not check if it was disabled. During the re-factoring I noticed that during a sysmobts re-start some resources are not freed. I left a warning in the code to resolve this issue later.
Diffstat (limited to 'src/sysmo_sock.cpp')
-rw-r--r--src/sysmo_sock.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sysmo_sock.cpp b/src/sysmo_sock.cpp
index 2852c0e1..6af2e9ab 100644
--- a/src/sysmo_sock.cpp
+++ b/src/sysmo_sock.cpp
@@ -106,7 +106,8 @@ static void pcu_sock_close(struct pcu_sock_state *state, int lost)
}
#endif
for (ts = 0; ts < 8; ts++)
- bts->trx[trx].pdch[ts].enable = 0;
+ bts->trx[trx].pdch[ts].disable();
+#warning "NOT ALL RESOURCES are freed in this case... inconsistent with the other code. Share the code with pcu_l1if.c for the reset."
gprs_rlcmac_tbf::free_all(&bts->trx[trx]);
}