aboutsummaryrefslogtreecommitdiff
path: root/src/mm-iface-modem.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-08-21 12:21:08 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-08-29 17:26:46 +0200
commite2a6be368eab6045c176ef5f404afb246769953f (patch)
tree324dc0ed10b3d445195974bc6194185ac22f6d6c /src/mm-iface-modem.c
parent14bd267e8e1fd8411df8155c5c487adf2a4764d2 (diff)
iface-modem: max number of bearers equal to the number of available data ports
Diffstat (limited to 'src/mm-iface-modem.c')
-rw-r--r--src/mm-iface-modem.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
index da2371a6..ff00e4d7 100644
--- a/src/mm-iface-modem.c
+++ b/src/mm-iface-modem.c
@@ -3315,9 +3315,15 @@ interface_initialization_step (InitializationContext *ctx)
NULL);
if (!list) {
- list = mm_bearer_list_new (1, 1);
+ guint n;
+
+ /* The maximum number of available/connected modems is guessed from
+ * the size of the data ports list. */
+ n = g_list_length (mm_base_modem_peek_data_ports (MM_BASE_MODEM (ctx->self)));
+ mm_dbg ("Modem allows up to %u bearers", n);
/* Create new default list */
+ list = mm_bearer_list_new (n, n);
g_object_set (ctx->self,
MM_IFACE_MODEM_BEARER_LIST, list,
NULL);