From e2a6be368eab6045c176ef5f404afb246769953f Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Tue, 21 Aug 2012 12:21:08 +0200 Subject: [PATCH] iface-modem: max number of bearers equal to the number of available data ports --- src/mm-iface-modem.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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);