log: improve for rsl_lchan_mark_broken()

In rsl_lchan_mark_broken(), call rsl_lchan_set_state() so the state transition
gets logged in the debug log.

Remove logging for the broken channel at the callers, instead log the error
actually in rsl_lchan_mark_broken() itself, with the reason message passed by
the caller anyway. (Removes code dup and ensures it's always logged.)

Change-Id: I54ae9bbd3f193bae7b1bda1fef3e33e62b353bf5
This commit is contained in:
Neels Hofmeyr 2016-08-24 16:48:00 +02:00 committed by Harald Welte
parent baa6c5546e
commit 423269f803
1 changed files with 3 additions and 9 deletions

View File

@ -179,10 +179,6 @@ static void lchan_act_tmr_cb(void *data)
{
struct gsm_lchan *lchan = data;
LOGP(DRSL, LOGL_ERROR,
"%s Timeout during activation. Marked as broken.\n",
gsm_lchan_name(lchan));
rsl_lchan_mark_broken(lchan, "activation timeout");
lchan_free(lchan);
}
@ -191,10 +187,6 @@ static void lchan_deact_tmr_cb(void *data)
{
struct gsm_lchan *lchan = data;
LOGP(DRSL, LOGL_ERROR,
"%s Timeout during deactivation! Marked as broken.\n",
gsm_lchan_name(lchan));
rsl_lchan_mark_broken(lchan, "de-activation timeout");
lchan_free(lchan);
}
@ -1121,7 +1113,9 @@ int rsl_release_request(struct gsm_lchan *lchan, uint8_t link_id,
int rsl_lchan_mark_broken(struct gsm_lchan *lchan, const char *reason)
{
lchan->state = LCHAN_S_BROKEN;
LOGP(DRSL, LOGL_ERROR, "%s %s lchan broken: %s\n",
gsm_lchan_name(lchan), gsm_lchant_name(lchan->type), reason);
rsl_lchan_set_state(lchan, LCHAN_S_BROKEN);
lchan->broken_reason = reason;
return 0;
}