diff options
author | Mika Liljeberg <mika.liljeberg@nokia.com> | 2010-11-11 17:50:00 +0200 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-11-11 09:52:34 -0600 |
commit | 39d6fffae8923d8e1da8cf30691da7ac17e4e8d4 (patch) | |
tree | e34a8c7db3e82c0b0c819c1ff07184cfbc51c1e2 /plugins | |
parent | 5a1bd2c352593c198a69f08efb64c3a0bdce20f7 (diff) | |
download | ofono-39d6fffae8923d8e1da8cf30691da7ac17e4e8d4.tar.bz2 |
isigen: create four gprs contexts
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/isigen.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/plugins/isigen.c b/plugins/isigen.c index 838d060c..fad4e205 100644 --- a/plugins/isigen.c +++ b/plugins/isigen.c @@ -58,6 +58,8 @@ #include "drivers/isimodem/mtc.h" #include "drivers/isimodem/debug.h" +#define ISI_DEFAULT_PDPS 4 /* Number of supported PDP contexts */ + struct isi_data { struct ofono_modem *modem; char const *ifname; @@ -407,6 +409,7 @@ static void isigen_post_online(struct ofono_modem *modem) struct isi_data *isi = ofono_modem_get_data(modem); struct ofono_gprs *gprs; struct ofono_gprs_context *gc; + int i; DBG("(%p) with %s", modem, isi->ifname); @@ -420,13 +423,21 @@ static void isigen_post_online(struct ofono_modem *modem) ofono_call_barring_create(isi->modem, 0, "isimodem", isi->idx); ofono_call_meter_create(isi->modem, 0, "isimodem", isi->idx); ofono_radio_settings_create(isi->modem, 0, "isimodem", isi->idx); + gprs = ofono_gprs_create(isi->modem, 0, "isimodem", isi->idx); - gc = ofono_gprs_context_create(isi->modem, 0, "isimodem", isi->idx); + if (!gprs) + return; + + for (i = 0; i < ISI_DEFAULT_PDPS; i++) { + gc = ofono_gprs_context_create(isi->modem, 0, + "isimodem", isi->idx); + if (!gc) { + DBG("Failed to add context %d", i); + break; + } - if (gprs && gc) ofono_gprs_add_context(gprs, gc); - else - DBG("Failed to add context"); + } } static int isigen_enable(struct ofono_modem *modem) |