diff options
author | Franko Fang <fangxiaozhi@huawei.com> | 2013-04-03 13:12:43 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-04-03 13:35:47 +0200 |
commit | 1a875e3bf68119af4bad9c8ef88c425fb98d87e5 (patch) | |
tree | ff12b373fa890b0e875d672320828a450e8b9947 | |
parent | 41e706b241b6c1600f3351f95a70c28695bac0ba (diff) |
base-modem: keep AT port as possible data port if flagged as PPP
-rw-r--r-- | src/mm-base-modem.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index 7e74328a..7226e5e2 100644 --- a/src/mm-base-modem.c +++ b/src/mm-base-modem.c @@ -891,8 +891,12 @@ mm_base_modem_organize_ports (MMBaseModem *self, } } - if (!data_primary && (flags & MM_AT_PORT_FLAG_PPP)) - data_primary = candidate; + if (flags & MM_AT_PORT_FLAG_PPP) { + if (!data_primary) + data_primary = candidate; + else + data = g_list_append (data, candidate); + } /* Explicitly flagged secondary ports trump NONE ports for secondary */ if (flags & MM_AT_PORT_FLAG_SECONDARY) { @@ -921,9 +925,13 @@ mm_base_modem_organize_ports (MMBaseModem *self, break; case MM_PORT_TYPE_NET: - /* Net device (if any) is the preferred data port */ - if (!data_primary || MM_IS_AT_SERIAL_PORT (data_primary)) + if (!data_primary) data_primary = candidate; + else if (MM_IS_AT_SERIAL_PORT (data_primary)) { + /* Net device (if any) is the preferred data port */ + data = g_list_append (data, data_primary); + data_primary = candidate; + } else /* All non-primary net ports get added to the list of data ports */ data = g_list_append (data, candidate); |