diff --git a/src/osmo-bsc/bsc_subscriber.c b/src/osmo-bsc/bsc_subscriber.c index d9d90baa9..65a660b40 100644 --- a/src/osmo-bsc/bsc_subscriber.c +++ b/src/osmo-bsc/bsc_subscriber.c @@ -41,7 +41,6 @@ static struct bsc_subscr *bsc_subscr_alloc(struct llist_head *list) return NULL; llist_add_tail(&bsub->entry, list); - bsub->use_count = 1; return bsub; } @@ -92,7 +91,7 @@ struct bsc_subscr *bsc_subscr_find_or_create_by_imsi(struct llist_head *list, return bsub; bsub = bsc_subscr_alloc(list); bsc_subscr_set_imsi(bsub, imsi); - return bsub; + return bsc_subscr_get(bsub); } struct bsc_subscr *bsc_subscr_find_or_create_by_tmsi(struct llist_head *list, @@ -104,7 +103,7 @@ struct bsc_subscr *bsc_subscr_find_or_create_by_tmsi(struct llist_head *list, return bsub; bsub = bsc_subscr_alloc(list); bsub->tmsi = tmsi; - return bsub; + return bsc_subscr_get(bsub); } const char *bsc_subscr_name(struct bsc_subscr *bsub) diff --git a/tests/subscr/bsc_subscr_test.err b/tests/subscr/bsc_subscr_test.err index a66317a36..afc8bf778 100644 --- a/tests/subscr/bsc_subscr_test.err +++ b/tests/subscr/bsc_subscr_test.err @@ -1,5 +1,8 @@ +DREF BSC subscr IMSI:1234567890 usage increases to: 1 DREF BSC subscr IMSI:1234567890 usage increases to: 2 DREF BSC subscr IMSI:1234567890 usage decreases to: 1 +DREF BSC subscr IMSI:9876543210 usage increases to: 1 +DREF BSC subscr IMSI:5656565656 usage increases to: 1 DREF BSC subscr IMSI:1234567890 usage increases to: 2 DREF BSC subscr IMSI:1234567890 usage decreases to: 1 DREF BSC subscr IMSI:9876543210 usage increases to: 2