diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libbsc/abis_rsl.c | 9 | ||||
-rw-r--r-- | src/libbsc/chan_alloc.c | 2 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/libbsc/abis_rsl.c b/src/libbsc/abis_rsl.c index 09fb14b79..996860285 100644 --- a/src/libbsc/abis_rsl.c +++ b/src/libbsc/abis_rsl.c @@ -1225,11 +1225,12 @@ int rsl_lchan_mark_broken(struct gsm_lchan *lchan, const char *reason) return 0; } -int rsl_lchan_set_state(struct gsm_lchan *lchan, int state) +int rsl_lchan_set_state_with_log(struct gsm_lchan *lchan, enum gsm_lchan_state state, const char *file, unsigned line) { - DEBUGP(DRSL, "%s state %s -> %s\n", - gsm_lchan_name(lchan), gsm_lchans_name(lchan->state), - gsm_lchans_name(state)); + if (lchan->state != state) + LOGPSRC(DRSL, LOGL_DEBUG, file, line, "%s state %s -> %s\n", + gsm_lchan_name(lchan), gsm_lchans_name(lchan->state), gsm_lchans_name(state)); + lchan->state = state; return 0; } diff --git a/src/libbsc/chan_alloc.c b/src/libbsc/chan_alloc.c index 679ad4203..f0275bc96 100644 --- a/src/libbsc/chan_alloc.c +++ b/src/libbsc/chan_alloc.c @@ -448,7 +448,7 @@ void lchan_reset(struct gsm_lchan *lchan) osmo_timer_del(&lchan->error_timer); lchan->type = GSM_LCHAN_NONE; - lchan->state = LCHAN_S_NONE; + rsl_lchan_set_state(lchan, LCHAN_S_NONE); if (lchan->abis_ip.rtp_socket) { rtp_socket_free(lchan->abis_ip.rtp_socket); |