gprs_ns2: gprs_ns2_free_bind() should remove itself before removing nsvcs

When removing NSVCs before removing the bind from the SNS list, the removing NSVCs could
trigger a creation of a new NSVC on the same bind ending in a
while(true) loop.

Change-Id: I6f497348f75fb479427d8a4c23313e33fbc62036
diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c
index 83a8ca0..326312c 100644
--- a/src/gb/gprs_ns2.c
+++ b/src/gb/gprs_ns2.c
@@ -1479,16 +1479,16 @@
 		return;
 
 	bind->freed = true;
-	llist_for_each_entry_safe(nsvc, tmp, &bind->nsvc, blist) {
-		gprs_ns2_free_nsvc(nsvc);
-	}
-
 	if (gprs_ns2_is_ip_bind(bind)) {
 		llist_for_each_entry(nse, &bind->nsi->nse, list) {
 			gprs_ns2_sns_del_bind(nse, bind);
 		}
 	}
 
+	llist_for_each_entry_safe(nsvc, tmp, &bind->nsvc, blist) {
+		gprs_ns2_free_nsvc(nsvc);
+	}
+
 	if (bind->driver->free_bind)
 		bind->driver->free_bind(bind);