libbsc: Log if a channel is freed with lchan->state != LCHAN_S_NONE

I'm not sure if that is an abnormal condition or not, but it seems
that lchan state and type have to be none for the lchan to be
considered idle.
diff --git a/openbsc/src/libbsc/chan_alloc.c b/openbsc/src/libbsc/chan_alloc.c
index c0bdc1b..6f4fe20 100644
--- a/openbsc/src/libbsc/chan_alloc.c
+++ b/openbsc/src/libbsc/chan_alloc.c
@@ -299,6 +299,10 @@
 	sig.type = lchan->type;
 	lchan->type = GSM_LCHAN_NONE;
 
+	if (lchan->state != LCHAN_S_NONE) {
+		LOGP(DRLL, LOGL_NOTICE, "Freeing lchan with state %s - setting to NONE\n", gsm_lchans_name(lchan->state));
+		lchan->state = LCHAN_S_NONE;
+	}
 
 	if (lchan->conn) {
 		struct lchan_signal_data sig;