summaryrefslogtreecommitdiff
path: root/plugins/phonesim.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2010-10-25 22:33:18 +0200
committerMarcel Holtmann <marcel@holtmann.org>2010-10-25 22:33:18 +0200
commitef4d2fb322ae94dbf586977927063bff73a9a409 (patch)
treefa82fcd802fb10a7b888062b98f57da337091ba9 /plugins/phonesim.c
parentde3c0d624742b5caff093cfeeff758d04886742a (diff)
downloadofono-ef4d2fb322ae94dbf586977927063bff73a9a409.tar.gz
phonesim: Register modem driver before creating modems
Diffstat (limited to 'plugins/phonesim.c')
-rw-r--r--plugins/phonesim.c18
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,