vlr_subscr: use osmo_use_count

Depends: Ife31e6798b4e728a23913179e346552a7dd338c0 (libosmocore)
Change-Id: Ib06d030e8464abe415ff597d462ed40eeddef475
diff --git a/src/libmsc/ctrl_commands.c b/src/libmsc/ctrl_commands.c
index e37cc94..87e9afd 100644
--- a/src/libmsc/ctrl_commands.c
+++ b/src/libmsc/ctrl_commands.c
@@ -29,6 +29,8 @@
 
 #include <stdbool.h>
 
+#define VSUB_USE_CTRL "CTRL"
+
 static struct gsm_network *msc_ctrl_net = NULL;
 
 static int get_subscriber_list(struct ctrl_cmd *cmd, void *d)
@@ -73,7 +75,7 @@
 		return CTRL_CMD_ERROR;
 	}
 
-	vsub = vlr_subscr_find_by_imsi(msc_ctrl_net->vlr, cmd->value);
+	vsub = vlr_subscr_find_by_imsi(msc_ctrl_net->vlr, cmd->value, VSUB_USE_CTRL);
 	if (!vsub) {
 		LOGP(DCTRL, LOGL_ERROR, "Attempt to expire unknown subscriber IMSI=%s\n", cmd->value);
 		cmd->reply = "IMSI unknown";
@@ -85,11 +87,11 @@
 	if (vlr_subscr_expire(vsub))
 		LOGP(DCTRL, LOGL_NOTICE, "VLR released subscriber %s\n", vlr_subscr_name(vsub));
 
-	if (vsub->use_count > 1)
+	if (osmo_use_count_total(&vsub->use_count) > 1)
 		LOGP(DCTRL, LOGL_NOTICE, "Subscriber %s is still in use, should be released soon\n",
 		     vlr_subscr_name(vsub));
 
-	vlr_subscr_put(vsub);
+	vlr_subscr_put(vsub, VSUB_USE_CTRL);
 
 	return CTRL_CMD_REPLY;
 }