gprs: Fix allocation of context id read from settings

This fix is similar to the one in the following commit,
but fixes allocation for context ids after ap's are
read from settings.

commit c3fdf6a7c5
Author: Denis Kenzior <denkenz@gmail.com>
Date:   Thu Jan 3 17:17:21 2019 -0600

    gprs: Fix allocation of context id
This commit is contained in:
Richard Röjfors 2019-04-02 09:28:53 +02:00 committed by Denis Kenzior
parent 05484bdb73
commit b9fdba531f
1 changed files with 5 additions and 1 deletions

View File

@ -2340,7 +2340,11 @@ static void provision_context(const struct ofono_gprs_provision_data *ap,
strlen(ap->message_center) > MAX_MESSAGE_CENTER_LENGTH)
return;
id = l_uintset_find_unused(gprs->used_pids, gprs->last_context_id);
if (gprs->last_context_id)
id = l_uintset_find_unused(gprs->used_pids,
gprs->last_context_id);
else
id = l_uintset_find_unused_min(gprs->used_pids);
if (id > l_uintset_get_max(gprs->used_pids))
return;