aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mm-broadband-bearer.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mm-broadband-bearer.c b/src/mm-broadband-bearer.c
index 341f9886..967d078b 100644
--- a/src/mm-broadband-bearer.c
+++ b/src/mm-broadband-bearer.c
@@ -916,6 +916,8 @@ parse_pdp_list (MMBaseModem *modem,
}
cid = 0;
+
+ /* Show all found PDP contexts in debug log */
mm_dbg ("Found '%u' PDP contexts", g_list_length (pdp_list));
for (l = pdp_list; l; l = g_list_next (l)) {
MM3gppPdpContext *pdp = l->data;
@@ -924,6 +926,12 @@ parse_pdp_list (MMBaseModem *modem,
pdp->cid,
mm_bearer_ip_family_get_string (pdp->pdp_type),
pdp->apn ? pdp->apn : "");
+ }
+
+ /* Look for the exact PDP context we want */
+ for (l = pdp_list; l; l = g_list_next (l)) {
+ MM3gppPdpContext *pdp = l->data;
+
if (pdp->pdp_type == mm_bearer_properties_get_ip_type (mm_bearer_peek_config (MM_BEARER (ctx->self)))) {
/* PDP with no APN set? we may use that one if not exact match found */
if (!pdp->apn || !pdp->apn[0]) {