[SGSN] LLC: properly free LLC entities at TLLI unassignment
diff --git a/openbsc/src/gprs/gprs_llc.c b/openbsc/src/gprs/gprs_llc.c
index edb4285..f45bd32 100644
--- a/openbsc/src/gprs/gprs_llc.c
+++ b/openbsc/src/gprs/gprs_llc.c
@@ -151,6 +151,12 @@
 	return llme;
 }
 
+static void llme_free(struct gprs_llc_llme *llme)
+{
+	llist_del(&llme->list);
+	talloc_free(llme);
+}
+
 enum gprs_llc_cmd {
 	GPRS_LLC_NULL,
 	GPRS_LLC_RR,
@@ -732,6 +738,7 @@
 			struct gprs_llc_lle *l = &llme->lle[i];
 			l->state = GPRS_LLES_UNASSIGNED;
 		}
+		llme_free(llme);
 	} else
 		return -EINVAL;