diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2010-10-25 22:33:18 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2010-10-25 22:33:18 +0200 |
commit | ef4d2fb322ae94dbf586977927063bff73a9a409 (patch) | |
tree | fa82fcd802fb10a7b888062b98f57da337091ba9 /plugins/phonesim.c | |
parent | de3c0d624742b5caff093cfeeff758d04886742a (diff) | |
download | ofono-ef4d2fb322ae94dbf586977927063bff73a9a409.tar.gz |
phonesim: Register modem driver before creating modems
Diffstat (limited to 'plugins/phonesim.c')
-rw-r--r-- | plugins/phonesim.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/plugins/phonesim.c b/plugins/phonesim.c index 8d5ef8f2..dc6c7938 100644 --- a/plugins/phonesim.c +++ b/plugins/phonesim.c @@ -567,6 +567,8 @@ static struct ofono_modem *create_modem(GKeyFile *keyfile, const char *group) g_free(value); } + DBG("%p", modem); + return modem; error: @@ -620,19 +622,21 @@ done: static int phonesim_init(void) { - parse_config(CONFIGDIR "/phonesim.conf"); + int err; + + err = ofono_modem_driver_register(&phonesim_driver); + if (err < 0) + return err; ofono_gprs_context_driver_register(&context_driver); - return ofono_modem_driver_register(&phonesim_driver); + + parse_config(CONFIGDIR "/phonesim.conf"); } static void phonesim_exit(void) { GSList *list; - ofono_gprs_context_driver_unregister(&context_driver); - ofono_modem_driver_unregister(&phonesim_driver); - for (list = modem_list; list; list = list->next) { struct ofono_modem *modem = list->data; @@ -641,6 +645,10 @@ static void phonesim_exit(void) g_slist_free(modem_list); modem_list = NULL; + + ofono_gprs_context_driver_unregister(&context_driver); + + ofono_modem_driver_unregister(&phonesim_driver); } OFONO_PLUGIN_DEFINE(phonesim, "Phone Simulator driver", VERSION, |