Hi Dennis,

I am facing this issue because for xmm7mode we get default cid as 0. 
In at_cgdcont_read_cb when cids = l_uintset_new(activated_cid); is called
It will create  a set with size zero hence the check in at_cgdcont_parse is 
failing.

Do you think this fix is fine? 
Should I put handling for cid 0 under vendor flag check.

Regards
Antara 

-----Original Message-----
From: Borwankar, Antara 
Sent: Thursday, September 26, 2019 4:53 PM
To: [email protected]
Cc: Borwankar, Antara <[email protected]>; [email protected]
Subject: [PATCH] atmodem: fix to populate activated gprs context ip settings

Function to get ipv4 and ipv6 settings for first default activated context in 
LTE was not getting called after pdp activation.
Calling ofono_gprs_cid_activated function for last_auto_context_id.
---
 drivers/atmodem/gprs.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/atmodem/gprs.c b/drivers/atmodem/gprs.c index 
16f4927..71a8631 100644
--- a/drivers/atmodem/gprs.c
+++ b/drivers/atmodem/gprs.c
@@ -194,6 +194,7 @@ static void at_cgdcont_parse(struct ofono_gprs *gprs, 
GAtResult *result,
                                struct l_uintset *cids)
 {
        GAtResultIter iter;
+       struct gprs_data *gd = ofono_gprs_get_data(gprs);
 
        g_at_result_iter_init(&iter, result);
 
@@ -204,7 +205,8 @@ static void at_cgdcont_parse(struct ofono_gprs *gprs, 
GAtResult *result,
                if (!g_at_result_iter_next_number(&iter, &read_cid))
                        break;
 
-               if (!l_uintset_contains(cids, read_cid))
+               if (!l_uintset_contains(cids, read_cid) &&
+                       read_cid != gd->last_auto_context_id)
                        continue;
 
                /* ignore protocol */
--
1.9.1

_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to